﻿2026-06-04T02:39:09.8985845Z ##[group]Run ./traceable-reqs check --json
2026-06-04T02:39:09.8986860Z [36;1m./traceable-reqs check --json[0m
2026-06-04T02:39:09.9005967Z shell: /usr/bin/bash -e {0}
2026-06-04T02:39:09.9006801Z ##[endgroup]
2026-06-04T02:39:09.9164789Z {
2026-06-04T02:39:09.9165402Z   "schemaVersion": 1,
2026-06-04T02:39:09.9165902Z   "summary": {
2026-06-04T02:39:09.9166374Z     "requirementCount": 128,
2026-06-04T02:39:09.9166894Z     "completeCount": 128,
2026-06-04T02:39:09.9167407Z     "incompleteCount": 0,
2026-06-04T02:39:09.9167925Z     "findingCount": 0
2026-06-04T02:39:09.9168361Z   },
2026-06-04T02:39:09.9168787Z   "requirements": [
2026-06-04T02:39:09.9169330Z     {
2026-06-04T02:39:09.9169797Z       "id": "REQ-API-1",
2026-06-04T02:39:09.9170519Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-04T02:39:09.9181904Z       "requiredStages": [
2026-06-04T02:39:09.9182613Z         "impl",
2026-06-04T02:39:09.9183048Z         "unit",
2026-06-04T02:39:09.9183470Z         "int"
2026-06-04T02:39:09.9184046Z       ],
2026-06-04T02:39:09.9184428Z       "stages": {
2026-06-04T02:39:09.9184871Z         "doc": {
2026-06-04T02:39:09.9185327Z           "complete": false,
2026-06-04T02:39:09.9185894Z           "evidence": []
2026-06-04T02:39:09.9186374Z         },
2026-06-04T02:39:09.9186782Z         "impl": {
2026-06-04T02:39:09.9187235Z           "complete": true,
2026-06-04T02:39:09.9187752Z           "evidence": [
2026-06-04T02:39:09.9188206Z             {
2026-06-04T02:39:09.9188683Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T02:39:09.9190323Z               "line": 15
2026-06-04T02:39:09.9190858Z             }
2026-06-04T02:39:09.9191281Z           ]
2026-06-04T02:39:09.9191674Z         },
2026-06-04T02:39:09.9192087Z         "int": {
2026-06-04T02:39:09.9192555Z           "complete": true,
2026-06-04T02:39:09.9193037Z           "evidence": [
2026-06-04T02:39:09.9193480Z             {
2026-06-04T02:39:09.9193980Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T02:39:09.9194629Z               "line": 13
2026-06-04T02:39:09.9195187Z             }
2026-06-04T02:39:09.9195587Z           ]
2026-06-04T02:39:09.9195990Z         },
2026-06-04T02:39:09.9198831Z         "unit": {
2026-06-04T02:39:09.9199371Z           "complete": true,
2026-06-04T02:39:09.9199859Z           "evidence": [
2026-06-04T02:39:09.9200289Z             {
2026-06-04T02:39:09.9200769Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T02:39:09.9201351Z               "line": 329
2026-06-04T02:39:09.9201810Z             },
2026-06-04T02:39:09.9202228Z             {
2026-06-04T02:39:09.9202702Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T02:39:09.9203267Z               "line": 335
2026-06-04T02:39:09.9203713Z             },
2026-06-04T02:39:09.9204115Z             {
2026-06-04T02:39:09.9204590Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T02:39:09.9205164Z               "line": 346
2026-06-04T02:39:09.9205601Z             }
2026-06-04T02:39:09.9206033Z           ]
2026-06-04T02:39:09.9206424Z         }
2026-06-04T02:39:09.9206805Z       }
2026-06-04T02:39:09.9207179Z     },
2026-06-04T02:39:09.9207557Z     {
2026-06-04T02:39:09.9207979Z       "id": "REQ-API-2",
2026-06-04T02:39:09.9208719Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-04T02:39:09.9209604Z       "requiredStages": [
2026-06-04T02:39:09.9210119Z         "impl",
2026-06-04T02:39:09.9210563Z         "unit",
2026-06-04T02:39:09.9211017Z         "int"
2026-06-04T02:39:09.9211425Z       ],
2026-06-04T02:39:09.9211827Z       "stages": {
2026-06-04T02:39:09.9212254Z         "doc": {
2026-06-04T02:39:09.9212701Z           "complete": false,
2026-06-04T02:39:09.9213210Z           "evidence": []
2026-06-04T02:39:09.9216629Z         },
2026-06-04T02:39:09.9217222Z         "impl": {
2026-06-04T02:39:09.9217667Z           "complete": true,
2026-06-04T02:39:09.9218149Z           "evidence": [
2026-06-04T02:39:09.9218567Z             {
2026-06-04T02:39:09.9219640Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T02:39:09.9220251Z               "line": 15
2026-06-04T02:39:09.9220689Z             },
2026-06-04T02:39:09.9221307Z             {
2026-06-04T02:39:09.9221770Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T02:39:09.9222323Z               "line": 20
2026-06-04T02:39:09.9222737Z             },
2026-06-04T02:39:09.9223112Z             {
2026-06-04T02:39:09.9223566Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T02:39:09.9224121Z               "line": 125
2026-06-04T02:39:09.9224539Z             },
2026-06-04T02:39:09.9224924Z             {
2026-06-04T02:39:09.9225385Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:09.9225939Z               "line": 21
2026-06-04T02:39:09.9226352Z             },
2026-06-04T02:39:09.9226721Z             {
2026-06-04T02:39:09.9227186Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:09.9227744Z               "line": 36
2026-06-04T02:39:09.9228177Z             },
2026-06-04T02:39:09.9228560Z             {
2026-06-04T02:39:09.9229018Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:09.9229665Z               "line": 101
2026-06-04T02:39:09.9230092Z             },
2026-06-04T02:39:09.9230459Z             {
2026-06-04T02:39:09.9230924Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:09.9231482Z               "line": 123
2026-06-04T02:39:09.9231905Z             },
2026-06-04T02:39:09.9232294Z             {
2026-06-04T02:39:09.9232754Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:09.9233303Z               "line": 147
2026-06-04T02:39:09.9233723Z             },
2026-06-04T02:39:09.9234091Z             {
2026-06-04T02:39:09.9234536Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T02:39:09.9235078Z               "line": 17
2026-06-04T02:39:09.9235493Z             },
2026-06-04T02:39:09.9235866Z             {
2026-06-04T02:39:09.9236343Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T02:39:09.9236873Z               "line": 30
2026-06-04T02:39:09.9257042Z             },
2026-06-04T02:39:09.9257647Z             {
2026-06-04T02:39:09.9258133Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T02:39:09.9258696Z               "line": 63
2026-06-04T02:39:09.9259111Z             },
2026-06-04T02:39:09.9259559Z             {
2026-06-04T02:39:09.9260161Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T02:39:09.9260689Z               "line": 76
2026-06-04T02:39:09.9261083Z             }
2026-06-04T02:39:09.9261442Z           ]
2026-06-04T02:39:09.9261793Z         },
2026-06-04T02:39:09.9262146Z         "int": {
2026-06-04T02:39:09.9262541Z           "complete": true,
2026-06-04T02:39:09.9262965Z           "evidence": [
2026-06-04T02:39:09.9263353Z             {
2026-06-04T02:39:09.9263811Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T02:39:09.9264346Z               "line": 14
2026-06-04T02:39:09.9264761Z             },
2026-06-04T02:39:09.9265117Z             {
2026-06-04T02:39:09.9265581Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T02:39:09.9266129Z               "line": 151
2026-06-04T02:39:09.9266530Z             }
2026-06-04T02:39:09.9266879Z           ]
2026-06-04T02:39:09.9267222Z         },
2026-06-04T02:39:09.9267573Z         "unit": {
2026-06-04T02:39:09.9267974Z           "complete": true,
2026-06-04T02:39:09.9268408Z           "evidence": [
2026-06-04T02:39:09.9268796Z             {
2026-06-04T02:39:09.9269459Z               "path": "crates/spt-store/src/history.rs",
2026-06-04T02:39:09.9270180Z               "line": 42
2026-06-04T02:39:09.9270584Z             },
2026-06-04T02:39:09.9270950Z             {
2026-06-04T02:39:09.9271396Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T02:39:09.9271932Z               "line": 204
2026-06-04T02:39:09.9272342Z             },
2026-06-04T02:39:09.9272703Z             {
2026-06-04T02:39:09.9273748Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:09.9274288Z               "line": 220
2026-06-04T02:39:09.9274690Z             },
2026-06-04T02:39:09.9275233Z             {
2026-06-04T02:39:09.9275688Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:09.9276224Z               "line": 231
2026-06-04T02:39:09.9276633Z             },
2026-06-04T02:39:09.9276996Z             {
2026-06-04T02:39:09.9277459Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:09.9277997Z               "line": 267
2026-06-04T02:39:09.9278395Z             },
2026-06-04T02:39:09.9278763Z             {
2026-06-04T02:39:09.9279709Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:09.9280433Z               "line": 279
2026-06-04T02:39:09.9280842Z             },
2026-06-04T02:39:09.9281208Z             {
2026-06-04T02:39:09.9281658Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T02:39:09.9282195Z               "line": 137
2026-06-04T02:39:09.9282615Z             },
2026-06-04T02:39:09.9282970Z             {
2026-06-04T02:39:09.9283415Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T02:39:09.9283956Z               "line": 172
2026-06-04T02:39:09.9284358Z             }
2026-06-04T02:39:09.9284712Z           ]
2026-06-04T02:39:09.9285056Z         }
2026-06-04T02:39:09.9285411Z       }
2026-06-04T02:39:09.9285741Z     },
2026-06-04T02:39:09.9286086Z     {
2026-06-04T02:39:09.9286450Z       "id": "REQ-API-3",
2026-06-04T02:39:09.9287007Z       "title": "commune/signoff are file-drops, not commands",
2026-06-04T02:39:09.9287604Z       "requiredStages": [
2026-06-04T02:39:09.9288026Z         "impl",
2026-06-04T02:39:09.9288403Z         "unit",
2026-06-04T02:39:09.9288773Z         "int"
2026-06-04T02:39:09.9289141Z       ],
2026-06-04T02:39:09.9289848Z       "stages": {
2026-06-04T02:39:09.9290225Z         "doc": {
2026-06-04T02:39:09.9290624Z           "complete": false,
2026-06-04T02:39:09.9291068Z           "evidence": []
2026-06-04T02:39:09.9291494Z         },
2026-06-04T02:39:09.9291851Z         "impl": {
2026-06-04T02:39:09.9292251Z           "complete": true,
2026-06-04T02:39:09.9292696Z           "evidence": [
2026-06-04T02:39:09.9293118Z             {
2026-06-04T02:39:09.9293578Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T02:39:09.9294106Z               "line": 14
2026-06-04T02:39:09.9294585Z             },
2026-06-04T02:39:09.9294942Z             {
2026-06-04T02:39:09.9295399Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:09.9295941Z               "line": 157
2026-06-04T02:39:09.9296348Z             }
2026-06-04T02:39:09.9296711Z           ]
2026-06-04T02:39:09.9297060Z         },
2026-06-04T02:39:09.9297401Z         "int": {
2026-06-04T02:39:09.9297807Z           "complete": true,
2026-06-04T02:39:09.9298255Z           "evidence": [
2026-06-04T02:39:09.9298666Z             {
2026-06-04T02:39:09.9299134Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T02:39:09.9299764Z               "line": 203
2026-06-04T02:39:09.9300178Z             }
2026-06-04T02:39:09.9300553Z           ]
2026-06-04T02:39:09.9300931Z         },
2026-06-04T02:39:09.9301293Z         "unit": {
2026-06-04T02:39:09.9301708Z           "complete": true,
2026-06-04T02:39:09.9302143Z           "evidence": [
2026-06-04T02:39:09.9302524Z             {
2026-06-04T02:39:09.9302967Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T02:39:09.9303500Z               "line": 117
2026-06-04T02:39:09.9303904Z             },
2026-06-04T02:39:09.9304268Z             {
2026-06-04T02:39:09.9304728Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:09.9305265Z               "line": 288
2026-06-04T02:39:09.9305674Z             }
2026-06-04T02:39:09.9306035Z           ]
2026-06-04T02:39:09.9306387Z         }
2026-06-04T02:39:09.9306742Z       }
2026-06-04T02:39:09.9307087Z     },
2026-06-04T02:39:09.9307426Z     {
2026-06-04T02:39:09.9307795Z       "id": "REQ-ARCH-1",
2026-06-04T02:39:09.9308617Z       "title": "Many small acyclically-layered crates",
2026-06-04T02:39:09.9309246Z       "requiredStages": [
2026-06-04T02:39:09.9309964Z         "impl"
2026-06-04T02:39:09.9310333Z       ],
2026-06-04T02:39:09.9310689Z       "stages": {
2026-06-04T02:39:09.9311068Z         "doc": {
2026-06-04T02:39:09.9311477Z           "complete": false,
2026-06-04T02:39:09.9311933Z           "evidence": []
2026-06-04T02:39:09.9312334Z         },
2026-06-04T02:39:09.9312696Z         "impl": {
2026-06-04T02:39:09.9313108Z           "complete": true,
2026-06-04T02:39:09.9313561Z           "evidence": [
2026-06-04T02:39:09.9313965Z             {
2026-06-04T02:39:09.9314414Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-04T02:39:09.9314945Z               "line": 16
2026-06-04T02:39:09.9315358Z             },
2026-06-04T02:39:09.9315724Z             {
2026-06-04T02:39:09.9316175Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-04T02:39:09.9316714Z               "line": 12
2026-06-04T02:39:09.9317149Z             },
2026-06-04T02:39:09.9317516Z             {
2026-06-04T02:39:09.9317968Z               "path": "crates/spt-store/src/lib.rs",
2026-06-04T02:39:09.9318514Z               "line": 12
2026-06-04T02:39:09.9318926Z             }
2026-06-04T02:39:09.9319334Z           ]
2026-06-04T02:39:09.9319693Z         },
2026-06-04T02:39:09.9320054Z         "int": {
2026-06-04T02:39:09.9320462Z           "complete": false,
2026-06-04T02:39:09.9320928Z           "evidence": []
2026-06-04T02:39:09.9321338Z         },
2026-06-04T02:39:09.9321695Z         "unit": {
2026-06-04T02:39:09.9322104Z           "complete": false,
2026-06-04T02:39:09.9322550Z           "evidence": []
2026-06-04T02:39:09.9322956Z         }
2026-06-04T02:39:09.9323298Z       }
2026-06-04T02:39:09.9323638Z     },
2026-06-04T02:39:09.9323986Z     {
2026-06-04T02:39:09.9324381Z       "id": "REQ-ARCH-2",
2026-06-04T02:39:09.9325006Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-04T02:39:09.9325687Z       "requiredStages": [
2026-06-04T02:39:09.9326113Z         "impl"
2026-06-04T02:39:09.9326489Z       ],
2026-06-04T02:39:09.9326863Z       "stages": {
2026-06-04T02:39:09.9327249Z         "doc": {
2026-06-04T02:39:09.9327654Z           "complete": false,
2026-06-04T02:39:09.9328119Z           "evidence": []
2026-06-04T02:39:09.9328524Z         },
2026-06-04T02:39:09.9328884Z         "impl": {
2026-06-04T02:39:09.9329380Z           "complete": true,
2026-06-04T02:39:09.9329852Z           "evidence": [
2026-06-04T02:39:09.9330255Z             {
2026-06-04T02:39:09.9330706Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-04T02:39:09.9331238Z               "line": 18
2026-06-04T02:39:09.9331648Z             }
2026-06-04T02:39:09.9332011Z           ]
2026-06-04T02:39:09.9332365Z         },
2026-06-04T02:39:09.9332722Z         "int": {
2026-06-04T02:39:09.9333129Z           "complete": false,
2026-06-04T02:39:09.9333586Z           "evidence": []
2026-06-04T02:39:09.9334009Z         },
2026-06-04T02:39:09.9334370Z         "unit": {
2026-06-04T02:39:09.9334776Z           "complete": false,
2026-06-04T02:39:09.9335239Z           "evidence": []
2026-06-04T02:39:09.9335666Z         }
2026-06-04T02:39:09.9336011Z       }
2026-06-04T02:39:09.9336361Z     },
2026-06-04T02:39:09.9336702Z     {
2026-06-04T02:39:09.9337077Z       "id": "REQ-ARCH-3",
2026-06-04T02:39:09.9337771Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-04T02:39:09.9338519Z       "requiredStages": [
2026-06-04T02:39:09.9338970Z         "impl",
2026-06-04T02:39:09.9339468Z         "unit"
2026-06-04T02:39:09.9339848Z       ],
2026-06-04T02:39:09.9340208Z       "stages": {
2026-06-04T02:39:09.9340598Z         "doc": {
2026-06-04T02:39:09.9341014Z           "complete": false,
2026-06-04T02:39:09.9341464Z           "evidence": []
2026-06-04T02:39:09.9341876Z         },
2026-06-04T02:39:09.9342236Z         "impl": {
2026-06-04T02:39:09.9342658Z           "complete": true,
2026-06-04T02:39:09.9343348Z           "evidence": [
2026-06-04T02:39:09.9343757Z             {
2026-06-04T02:39:09.9344233Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T02:39:09.9344941Z               "line": 34
2026-06-04T02:39:09.9345349Z             },
2026-06-04T02:39:09.9345729Z             {
2026-06-04T02:39:09.9346203Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T02:39:09.9346752Z               "line": 41
2026-06-04T02:39:09.9347177Z             }
2026-06-04T02:39:09.9347540Z           ]
2026-06-04T02:39:09.9347890Z         },
2026-06-04T02:39:09.9348237Z         "int": {
2026-06-04T02:39:09.9348646Z           "complete": false,
2026-06-04T02:39:09.9349090Z           "evidence": []
2026-06-04T02:39:09.9349764Z         },
2026-06-04T02:39:09.9350294Z         "unit": {
2026-06-04T02:39:09.9350714Z           "complete": true,
2026-06-04T02:39:09.9351153Z           "evidence": [
2026-06-04T02:39:09.9351550Z             {
2026-06-04T02:39:09.9352009Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T02:39:09.9352584Z               "line": 51
2026-06-04T02:39:09.9352988Z             },
2026-06-04T02:39:09.9353381Z             {
2026-06-04T02:39:09.9353850Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T02:39:09.9354401Z               "line": 65
2026-06-04T02:39:09.9354819Z             },
2026-06-04T02:39:09.9355190Z             {
2026-06-04T02:39:09.9355651Z               "path": "crates/spt-proto/src/version.rs",
2026-06-04T02:39:09.9356200Z               "line": 74
2026-06-04T02:39:09.9356610Z             }
2026-06-04T02:39:09.9356972Z           ]
2026-06-04T02:39:09.9357328Z         }
2026-06-04T02:39:09.9357684Z       }
2026-06-04T02:39:09.9358028Z     },
2026-06-04T02:39:09.9358385Z     {
2026-06-04T02:39:09.9358758Z       "id": "REQ-ARCH-4",
2026-06-04T02:39:09.9359599Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-04T02:39:09.9360470Z       "requiredStages": [
2026-06-04T02:39:09.9360928Z         "impl",
2026-06-04T02:39:09.9361307Z         "unit"
2026-06-04T02:39:09.9361674Z       ],
2026-06-04T02:39:09.9362030Z       "stages": {
2026-06-04T02:39:09.9362440Z         "doc": {
2026-06-04T02:39:09.9362841Z           "complete": false,
2026-06-04T02:39:09.9363305Z           "evidence": []
2026-06-04T02:39:09.9363715Z         },
2026-06-04T02:39:09.9364078Z         "impl": {
2026-06-04T02:39:09.9364483Z           "complete": true,
2026-06-04T02:39:09.9364925Z           "evidence": [
2026-06-04T02:39:09.9365333Z             {
2026-06-04T02:39:09.9375480Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T02:39:09.9376142Z               "line": 32
2026-06-04T02:39:09.9376563Z             },
2026-06-04T02:39:09.9376929Z             {
2026-06-04T02:39:09.9377377Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T02:39:09.9377902Z               "line": 46
2026-06-04T02:39:09.9378303Z             },
2026-06-04T02:39:09.9378665Z             {
2026-06-04T02:39:09.9379278Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T02:39:09.9379827Z               "line": 66
2026-06-04T02:39:09.9380227Z             },
2026-06-04T02:39:09.9380606Z             {
2026-06-04T02:39:09.9381050Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T02:39:09.9381578Z               "line": 81
2026-06-04T02:39:09.9381980Z             },
2026-06-04T02:39:09.9382348Z             {
2026-06-04T02:39:09.9382789Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T02:39:09.9383315Z               "line": 131
2026-06-04T02:39:09.9383730Z             }
2026-06-04T02:39:09.9384090Z           ]
2026-06-04T02:39:09.9384437Z         },
2026-06-04T02:39:09.9384788Z         "int": {
2026-06-04T02:39:09.9385186Z           "complete": false,
2026-06-04T02:39:09.9385628Z           "evidence": []
2026-06-04T02:39:09.9386029Z         },
2026-06-04T02:39:09.9386382Z         "unit": {
2026-06-04T02:39:09.9386790Z           "complete": true,
2026-06-04T02:39:09.9387554Z           "evidence": [
2026-06-04T02:39:09.9387946Z             {
2026-06-04T02:39:09.9388392Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T02:39:09.9389145Z               "line": 195
2026-06-04T02:39:09.9389617Z             },
2026-06-04T02:39:09.9389981Z             {
2026-06-04T02:39:09.9390428Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T02:39:09.9390958Z               "line": 205
2026-06-04T02:39:09.9391375Z             },
2026-06-04T02:39:09.9391740Z             {
2026-06-04T02:39:09.9392181Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T02:39:09.9392709Z               "line": 216
2026-06-04T02:39:09.9393111Z             },
2026-06-04T02:39:09.9393478Z             {
2026-06-04T02:39:09.9393916Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T02:39:09.9394442Z               "line": 227
2026-06-04T02:39:09.9394859Z             },
2026-06-04T02:39:09.9395218Z             {
2026-06-04T02:39:09.9395657Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T02:39:09.9396199Z               "line": 239
2026-06-04T02:39:09.9396612Z             },
2026-06-04T02:39:09.9396973Z             {
2026-06-04T02:39:09.9397427Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T02:39:09.9397960Z               "line": 252
2026-06-04T02:39:09.9398392Z             },
2026-06-04T02:39:09.9398751Z             {
2026-06-04T02:39:09.9399226Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T02:39:09.9399762Z               "line": 263
2026-06-04T02:39:09.9400174Z             },
2026-06-04T02:39:09.9400532Z             {
2026-06-04T02:39:09.9400977Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T02:39:09.9401503Z               "line": 277
2026-06-04T02:39:09.9401906Z             },
2026-06-04T02:39:09.9402280Z             {
2026-06-04T02:39:09.9402722Z               "path": "crates/spt-proto/src/event.rs",
2026-06-04T02:39:09.9403251Z               "line": 286
2026-06-04T02:39:09.9403660Z             }
2026-06-04T02:39:09.9404038Z           ]
2026-06-04T02:39:09.9404392Z         }
2026-06-04T02:39:09.9404734Z       }
2026-06-04T02:39:09.9405074Z     },
2026-06-04T02:39:09.9405435Z     {
2026-06-04T02:39:09.9405815Z       "id": "REQ-DAEMON-1",
2026-06-04T02:39:09.9406428Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-04T02:39:09.9407097Z       "requiredStages": [
2026-06-04T02:39:09.9407519Z         "impl",
2026-06-04T02:39:09.9407892Z         "unit",
2026-06-04T02:39:09.9408265Z         "int"
2026-06-04T02:39:09.9408625Z       ],
2026-06-04T02:39:09.9408974Z       "stages": {
2026-06-04T02:39:09.9409416Z         "doc": {
2026-06-04T02:39:09.9409830Z           "complete": false,
2026-06-04T02:39:09.9410285Z           "evidence": []
2026-06-04T02:39:09.9410684Z         },
2026-06-04T02:39:09.9411045Z         "impl": {
2026-06-04T02:39:09.9417112Z           "complete": true,
2026-06-04T02:39:09.9417620Z           "evidence": [
2026-06-04T02:39:09.9418034Z             {
2026-06-04T02:39:09.9418540Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T02:39:09.9419089Z               "line": 12
2026-06-04T02:39:09.9419800Z             },
2026-06-04T02:39:09.9420316Z             {
2026-06-04T02:39:09.9420780Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9421373Z               "line": 16
2026-06-04T02:39:09.9421774Z             },
2026-06-04T02:39:09.9422137Z             {
2026-06-04T02:39:09.9422582Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T02:39:09.9423114Z               "line": 15
2026-06-04T02:39:09.9423509Z             },
2026-06-04T02:39:09.9423862Z             {
2026-06-04T02:39:09.9424296Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T02:39:09.9424812Z               "line": 13
2026-06-04T02:39:09.9425217Z             }
2026-06-04T02:39:09.9425573Z           ]
2026-06-04T02:39:09.9425919Z         },
2026-06-04T02:39:09.9426278Z         "int": {
2026-06-04T02:39:09.9426673Z           "complete": true,
2026-06-04T02:39:09.9427380Z           "evidence": [
2026-06-04T02:39:09.9427783Z             {
2026-06-04T02:39:09.9428266Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T02:39:09.9428984Z               "line": 32
2026-06-04T02:39:09.9429444Z             }
2026-06-04T02:39:09.9429804Z           ]
2026-06-04T02:39:09.9430148Z         },
2026-06-04T02:39:09.9430514Z         "unit": {
2026-06-04T02:39:09.9430914Z           "complete": true,
2026-06-04T02:39:09.9431344Z           "evidence": [
2026-06-04T02:39:09.9431734Z             {
2026-06-04T02:39:09.9432192Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T02:39:09.9432721Z               "line": 173
2026-06-04T02:39:09.9433135Z             },
2026-06-04T02:39:09.9433489Z             {
2026-06-04T02:39:09.9433939Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T02:39:09.9434485Z               "line": 181
2026-06-04T02:39:09.9434889Z             },
2026-06-04T02:39:09.9435262Z             {
2026-06-04T02:39:09.9435718Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T02:39:09.9436254Z               "line": 194
2026-06-04T02:39:09.9436663Z             },
2026-06-04T02:39:09.9437022Z             {
2026-06-04T02:39:09.9437475Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T02:39:09.9438031Z               "line": 202
2026-06-04T02:39:09.9438441Z             },
2026-06-04T02:39:09.9438808Z             {
2026-06-04T02:39:09.9439356Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9439913Z               "line": 451
2026-06-04T02:39:09.9440313Z             },
2026-06-04T02:39:09.9440668Z             {
2026-06-04T02:39:09.9441125Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9441682Z               "line": 510
2026-06-04T02:39:09.9442090Z             },
2026-06-04T02:39:09.9442446Z             {
2026-06-04T02:39:09.9442890Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T02:39:09.9443441Z               "line": 100
2026-06-04T02:39:09.9443843Z             },
2026-06-04T02:39:09.9444206Z             {
2026-06-04T02:39:09.9444673Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-04T02:39:09.9445221Z               "line": 125
2026-06-04T02:39:09.9445621Z             }
2026-06-04T02:39:09.9445975Z           ]
2026-06-04T02:39:09.9446317Z         }
2026-06-04T02:39:09.9446654Z       }
2026-06-04T02:39:09.9446997Z     },
2026-06-04T02:39:09.9447330Z     {
2026-06-04T02:39:09.9447700Z       "id": "REQ-DAEMON-2",
2026-06-04T02:39:09.9448256Z       "title": "Broker/brain split for seamless self-update",
2026-06-04T02:39:09.9448856Z       "requiredStages": [
2026-06-04T02:39:09.9449320Z         "impl",
2026-06-04T02:39:09.9449698Z         "unit",
2026-06-04T02:39:09.9450077Z         "int"
2026-06-04T02:39:09.9450434Z       ],
2026-06-04T02:39:09.9450777Z       "stages": {
2026-06-04T02:39:09.9451151Z         "doc": {
2026-06-04T02:39:09.9451545Z           "complete": false,
2026-06-04T02:39:09.9452004Z           "evidence": []
2026-06-04T02:39:09.9452415Z         },
2026-06-04T02:39:09.9457889Z         "impl": {
2026-06-04T02:39:09.9458489Z           "complete": true,
2026-06-04T02:39:09.9458933Z           "evidence": [
2026-06-04T02:39:09.9459414Z             {
2026-06-04T02:39:09.9459893Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T02:39:09.9460424Z               "line": 23
2026-06-04T02:39:09.9460820Z             },
2026-06-04T02:39:09.9461187Z             {
2026-06-04T02:39:09.9461629Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T02:39:09.9462157Z               "line": 474
2026-06-04T02:39:09.9462561Z             },
2026-06-04T02:39:09.9462914Z             {
2026-06-04T02:39:09.9463353Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T02:39:09.9463883Z               "line": 584
2026-06-04T02:39:09.9464282Z             },
2026-06-04T02:39:09.9464644Z             {
2026-06-04T02:39:09.9465101Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T02:39:09.9465932Z               "line": 32
2026-06-04T02:39:09.9466339Z             },
2026-06-04T02:39:09.9466852Z             {
2026-06-04T02:39:09.9467305Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T02:39:09.9467838Z               "line": 187
2026-06-04T02:39:09.9468241Z             },
2026-06-04T02:39:09.9468607Z             {
2026-06-04T02:39:09.9469064Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T02:39:09.9469711Z               "line": 485
2026-06-04T02:39:09.9470113Z             },
2026-06-04T02:39:09.9470474Z             {
2026-06-04T02:39:09.9470924Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T02:39:09.9471450Z               "line": 654
2026-06-04T02:39:09.9471852Z             },
2026-06-04T02:39:09.9472216Z             {
2026-06-04T02:39:09.9472669Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T02:39:09.9473200Z               "line": 11
2026-06-04T02:39:09.9473609Z             },
2026-06-04T02:39:09.9473970Z             {
2026-06-04T02:39:09.9474426Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T02:39:09.9474968Z               "line": 53
2026-06-04T02:39:09.9475364Z             },
2026-06-04T02:39:09.9475720Z             {
2026-06-04T02:39:09.9476147Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T02:39:09.9476676Z               "line": 13
2026-06-04T02:39:09.9477073Z             },
2026-06-04T02:39:09.9477431Z             {
2026-06-04T02:39:09.9477881Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T02:39:09.9478414Z               "line": 27
2026-06-04T02:39:09.9478809Z             },
2026-06-04T02:39:09.9479205Z             {
2026-06-04T02:39:09.9479659Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T02:39:09.9480207Z               "line": 94
2026-06-04T02:39:09.9480613Z             },
2026-06-04T02:39:09.9480967Z             {
2026-06-04T02:39:09.9481414Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T02:39:09.9481966Z               "line": 383
2026-06-04T02:39:09.9482365Z             },
2026-06-04T02:39:09.9482742Z             {
2026-06-04T02:39:09.9483195Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T02:39:09.9483738Z               "line": 450
2026-06-04T02:39:09.9484145Z             },
2026-06-04T02:39:09.9484503Z             {
2026-06-04T02:39:09.9484951Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T02:39:09.9485492Z               "line": 484
2026-06-04T02:39:09.9485901Z             },
2026-06-04T02:39:09.9486258Z             {
2026-06-04T02:39:09.9486710Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T02:39:09.9487248Z               "line": 526
2026-06-04T02:39:09.9487658Z             },
2026-06-04T02:39:09.9488021Z             {
2026-06-04T02:39:09.9488467Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T02:39:09.9489003Z               "line": 570
2026-06-04T02:39:09.9489469Z             },
2026-06-04T02:39:09.9489832Z             {
2026-06-04T02:39:09.9490292Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T02:39:09.9490857Z               "line": 10
2026-06-04T02:39:09.9491271Z             }
2026-06-04T02:39:09.9491628Z           ]
2026-06-04T02:39:09.9491964Z         },
2026-06-04T02:39:09.9492313Z         "int": {
2026-06-04T02:39:09.9492707Z           "complete": true,
2026-06-04T02:39:09.9493134Z           "evidence": [
2026-06-04T02:39:09.9493516Z             {
2026-06-04T02:39:09.9493973Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-04T02:39:09.9499817Z               "line": 17
2026-06-04T02:39:09.9500309Z             },
2026-06-04T02:39:09.9500674Z             {
2026-06-04T02:39:09.9501155Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T02:39:09.9501713Z               "line": 33
2026-06-04T02:39:09.9502104Z             },
2026-06-04T02:39:09.9502460Z             {
2026-06-04T02:39:09.9503222Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T02:39:09.9503778Z               "line": 19
2026-06-04T02:39:09.9504194Z             },
2026-06-04T02:39:09.9504717Z             {
2026-06-04T02:39:09.9505189Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T02:39:09.9505747Z               "line": 70
2026-06-04T02:39:09.9506150Z             },
2026-06-04T02:39:09.9506509Z             {
2026-06-04T02:39:09.9506973Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T02:39:09.9507525Z               "line": 90
2026-06-04T02:39:09.9507936Z             },
2026-06-04T02:39:09.9508295Z             {
2026-06-04T02:39:09.9508770Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T02:39:09.9509410Z               "line": 160
2026-06-04T02:39:09.9509818Z             },
2026-06-04T02:39:09.9510180Z             {
2026-06-04T02:39:09.9510658Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T02:39:09.9511233Z               "line": 196
2026-06-04T02:39:09.9511648Z             },
2026-06-04T02:39:09.9512006Z             {
2026-06-04T02:39:09.9512482Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T02:39:09.9513072Z               "line": 121
2026-06-04T02:39:09.9513552Z             }
2026-06-04T02:39:09.9513956Z           ]
2026-06-04T02:39:09.9514305Z         },
2026-06-04T02:39:09.9514656Z         "unit": {
2026-06-04T02:39:09.9515063Z           "complete": true,
2026-06-04T02:39:09.9515508Z           "evidence": [
2026-06-04T02:39:09.9515903Z             {
2026-06-04T02:39:09.9516350Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T02:39:09.9516876Z               "line": 62
2026-06-04T02:39:09.9517275Z             },
2026-06-04T02:39:09.9517628Z             {
2026-06-04T02:39:09.9518065Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T02:39:09.9518596Z               "line": 76
2026-06-04T02:39:09.9519001Z             },
2026-06-04T02:39:09.9519435Z             {
2026-06-04T02:39:09.9519876Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-04T02:39:09.9520409Z               "line": 88
2026-06-04T02:39:09.9520828Z             },
2026-06-04T02:39:09.9521181Z             {
2026-06-04T02:39:09.9521629Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T02:39:09.9522175Z               "line": 264
2026-06-04T02:39:09.9522634Z             },
2026-06-04T02:39:09.9523018Z             {
2026-06-04T02:39:09.9523457Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T02:39:09.9523981Z               "line": 471
2026-06-04T02:39:09.9524386Z             },
2026-06-04T02:39:09.9524752Z             {
2026-06-04T02:39:09.9525193Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T02:39:09.9525714Z               "line": 479
2026-06-04T02:39:09.9526115Z             },
2026-06-04T02:39:09.9526483Z             {
2026-06-04T02:39:09.9526928Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T02:39:09.9527471Z               "line": 496
2026-06-04T02:39:09.9527869Z             },
2026-06-04T02:39:09.9528225Z             {
2026-06-04T02:39:09.9528657Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T02:39:09.9529242Z               "line": 541
2026-06-04T02:39:09.9529659Z             },
2026-06-04T02:39:09.9530031Z             {
2026-06-04T02:39:09.9530480Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T02:39:09.9531015Z               "line": 637
2026-06-04T02:39:09.9531427Z             },
2026-06-04T02:39:09.9531786Z             {
2026-06-04T02:39:09.9532237Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T02:39:09.9532779Z               "line": 649
2026-06-04T02:39:09.9533187Z             },
2026-06-04T02:39:09.9533544Z             {
2026-06-04T02:39:09.9534006Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T02:39:09.9534553Z               "line": 112
2026-06-04T02:39:09.9534945Z             }
2026-06-04T02:39:09.9535523Z           ]
2026-06-04T02:39:09.9535870Z         }
2026-06-04T02:39:09.9536216Z       }
2026-06-04T02:39:09.9542160Z     },
2026-06-04T02:39:09.9542587Z     {
2026-06-04T02:39:09.9543282Z       "id": "REQ-DAEMON-3",
2026-06-04T02:39:09.9543887Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-04T02:39:09.9544524Z       "requiredStages": [
2026-06-04T02:39:09.9544938Z         "impl",
2026-06-04T02:39:09.9545308Z         "unit",
2026-06-04T02:39:09.9545679Z         "int"
2026-06-04T02:39:09.9546034Z       ],
2026-06-04T02:39:09.9546380Z       "stages": {
2026-06-04T02:39:09.9546751Z         "doc": {
2026-06-04T02:39:09.9547155Z           "complete": false,
2026-06-04T02:39:09.9547586Z           "evidence": []
2026-06-04T02:39:09.9547982Z         },
2026-06-04T02:39:09.9548328Z         "impl": {
2026-06-04T02:39:09.9548715Z           "complete": true,
2026-06-04T02:39:09.9549144Z           "evidence": [
2026-06-04T02:39:09.9549601Z             {
2026-06-04T02:39:09.9550051Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T02:39:09.9550609Z               "line": 14
2026-06-04T02:39:09.9551015Z             },
2026-06-04T02:39:09.9551380Z             {
2026-06-04T02:39:09.9551843Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-04T02:39:09.9552382Z               "line": 11
2026-06-04T02:39:09.9552787Z             },
2026-06-04T02:39:09.9553138Z             {
2026-06-04T02:39:09.9553552Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T02:39:09.9554071Z               "line": 203
2026-06-04T02:39:09.9554486Z             },
2026-06-04T02:39:09.9554853Z             {
2026-06-04T02:39:09.9555265Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:09.9555776Z               "line": 233
2026-06-04T02:39:09.9556174Z             }
2026-06-04T02:39:09.9556522Z           ]
2026-06-04T02:39:09.9556859Z         },
2026-06-04T02:39:09.9557208Z         "int": {
2026-06-04T02:39:09.9557600Z           "complete": true,
2026-06-04T02:39:09.9558050Z           "evidence": [
2026-06-04T02:39:09.9558434Z             {
2026-06-04T02:39:09.9558879Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T02:39:09.9559479Z               "line": 43
2026-06-04T02:39:09.9559880Z             },
2026-06-04T02:39:09.9560238Z             {
2026-06-04T02:39:09.9560687Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T02:39:09.9561220Z               "line": 315
2026-06-04T02:39:09.9561634Z             }
2026-06-04T02:39:09.9562024Z           ]
2026-06-04T02:39:09.9562375Z         },
2026-06-04T02:39:09.9562725Z         "unit": {
2026-06-04T02:39:09.9563126Z           "complete": true,
2026-06-04T02:39:09.9563551Z           "evidence": [
2026-06-04T02:39:09.9563938Z             {
2026-06-04T02:39:09.9564387Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-04T02:39:09.9564923Z               "line": 217
2026-06-04T02:39:09.9565330Z             }
2026-06-04T02:39:09.9565686Z           ]
2026-06-04T02:39:09.9566029Z         }
2026-06-04T02:39:09.9566386Z       }
2026-06-04T02:39:09.9566714Z     },
2026-06-04T02:39:09.9567050Z     {
2026-06-04T02:39:09.9567418Z       "id": "REQ-DAEMON-4",
2026-06-04T02:39:09.9567948Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-04T02:39:09.9568501Z       "requiredStages": [
2026-06-04T02:39:09.9568919Z         "impl",
2026-06-04T02:39:09.9569333Z         "unit",
2026-06-04T02:39:09.9569701Z         "int"
2026-06-04T02:39:09.9570073Z       ],
2026-06-04T02:39:09.9570466Z       "stages": {
2026-06-04T02:39:09.9570878Z         "doc": {
2026-06-04T02:39:09.9571300Z           "complete": false,
2026-06-04T02:39:09.9571754Z           "evidence": []
2026-06-04T02:39:09.9572170Z         },
2026-06-04T02:39:09.9572518Z         "impl": {
2026-06-04T02:39:09.9572913Z           "complete": true,
2026-06-04T02:39:09.9573341Z           "evidence": [
2026-06-04T02:39:09.9573728Z             {
2026-06-04T02:39:09.9574187Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9574975Z               "line": 262
2026-06-04T02:39:09.9575380Z             },
2026-06-04T02:39:09.9575739Z             {
2026-06-04T02:39:09.9576353Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9582392Z               "line": 324
2026-06-04T02:39:09.9582999Z             },
2026-06-04T02:39:09.9583373Z             {
2026-06-04T02:39:09.9583833Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9584386Z               "line": 346
2026-06-04T02:39:09.9584787Z             }
2026-06-04T02:39:09.9585139Z           ]
2026-06-04T02:39:09.9585491Z         },
2026-06-04T02:39:09.9585839Z         "int": {
2026-06-04T02:39:09.9586240Z           "complete": true,
2026-06-04T02:39:09.9586673Z           "evidence": [
2026-06-04T02:39:09.9587061Z             {
2026-06-04T02:39:09.9587529Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T02:39:09.9588079Z               "line": 34
2026-06-04T02:39:09.9588475Z             }
2026-06-04T02:39:09.9588868Z           ]
2026-06-04T02:39:09.9589287Z         },
2026-06-04T02:39:09.9589642Z         "unit": {
2026-06-04T02:39:09.9590037Z           "complete": true,
2026-06-04T02:39:09.9590484Z           "evidence": [
2026-06-04T02:39:09.9590874Z             {
2026-06-04T02:39:09.9591319Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T02:39:09.9591852Z               "line": 248
2026-06-04T02:39:09.9592254Z             },
2026-06-04T02:39:09.9592628Z             {
2026-06-04T02:39:09.9593085Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9593642Z               "line": 533
2026-06-04T02:39:09.9594036Z             },
2026-06-04T02:39:09.9594390Z             {
2026-06-04T02:39:09.9594840Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9595383Z               "line": 584
2026-06-04T02:39:09.9595784Z             },
2026-06-04T02:39:09.9596147Z             {
2026-06-04T02:39:09.9596601Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9597151Z               "line": 608
2026-06-04T02:39:09.9597562Z             },
2026-06-04T02:39:09.9597922Z             {
2026-06-04T02:39:09.9598390Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9598935Z               "line": 638
2026-06-04T02:39:09.9599381Z             }
2026-06-04T02:39:09.9599733Z           ]
2026-06-04T02:39:09.9600089Z         }
2026-06-04T02:39:09.9600424Z       }
2026-06-04T02:39:09.9600753Z     },
2026-06-04T02:39:09.9601089Z     {
2026-06-04T02:39:09.9601482Z       "id": "REQ-DOCS-1",
2026-06-04T02:39:09.9602147Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-04T02:39:09.9602868Z       "requiredStages": [],
2026-06-04T02:39:09.9603300Z       "stages": {
2026-06-04T02:39:09.9603687Z         "doc": {
2026-06-04T02:39:09.9604081Z           "complete": false,
2026-06-04T02:39:09.9604525Z           "evidence": []
2026-06-04T02:39:09.9604920Z         },
2026-06-04T02:39:09.9605288Z         "impl": {
2026-06-04T02:39:09.9605680Z           "complete": false,
2026-06-04T02:39:09.9606123Z           "evidence": []
2026-06-04T02:39:09.9606538Z         },
2026-06-04T02:39:09.9606887Z         "int": {
2026-06-04T02:39:09.9607287Z           "complete": false,
2026-06-04T02:39:09.9607725Z           "evidence": []
2026-06-04T02:39:09.9608127Z         },
2026-06-04T02:39:09.9608476Z         "unit": {
2026-06-04T02:39:09.9608875Z           "complete": false,
2026-06-04T02:39:09.9609361Z           "evidence": []
2026-06-04T02:39:09.9609762Z         }
2026-06-04T02:39:09.9610098Z       }
2026-06-04T02:39:09.9610424Z     },
2026-06-04T02:39:09.9610774Z     {
2026-06-04T02:39:09.9611131Z       "id": "REQ-DOCS-2",
2026-06-04T02:39:09.9611708Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-04T02:39:09.9612350Z       "requiredStages": [],
2026-06-04T02:39:09.9612769Z       "stages": {
2026-06-04T02:39:09.9613141Z         "doc": {
2026-06-04T02:39:09.9613862Z           "complete": false,
2026-06-04T02:39:09.9614316Z           "evidence": []
2026-06-04T02:39:09.9614714Z         },
2026-06-04T02:39:09.9615226Z         "impl": {
2026-06-04T02:39:09.9615636Z           "complete": false,
2026-06-04T02:39:09.9616071Z           "evidence": []
2026-06-04T02:39:09.9616466Z         },
2026-06-04T02:39:09.9616814Z         "int": {
2026-06-04T02:39:09.9617208Z           "complete": false,
2026-06-04T02:39:09.9622922Z           "evidence": []
2026-06-04T02:39:09.9623492Z         },
2026-06-04T02:39:09.9623863Z         "unit": {
2026-06-04T02:39:09.9624262Z           "complete": false,
2026-06-04T02:39:09.9624704Z           "evidence": []
2026-06-04T02:39:09.9625093Z         }
2026-06-04T02:39:09.9625425Z       }
2026-06-04T02:39:09.9625751Z     },
2026-06-04T02:39:09.9626093Z     {
2026-06-04T02:39:09.9626463Z       "id": "REQ-DOCS-3",
2026-06-04T02:39:09.9627545Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-04T02:39:09.9628199Z       "requiredStages": [],
2026-06-04T02:39:09.9628667Z       "stages": {
2026-06-04T02:39:09.9629038Z         "doc": {
2026-06-04T02:39:09.9629521Z           "complete": false,
2026-06-04T02:39:09.9629974Z           "evidence": []
2026-06-04T02:39:09.9630371Z         },
2026-06-04T02:39:09.9630727Z         "impl": {
2026-06-04T02:39:09.9631123Z           "complete": false,
2026-06-04T02:39:09.9631567Z           "evidence": []
2026-06-04T02:39:09.9631969Z         },
2026-06-04T02:39:09.9632311Z         "int": {
2026-06-04T02:39:09.9632699Z           "complete": false,
2026-06-04T02:39:09.9633135Z           "evidence": []
2026-06-04T02:39:09.9633528Z         },
2026-06-04T02:39:09.9633864Z         "unit": {
2026-06-04T02:39:09.9634252Z           "complete": false,
2026-06-04T02:39:09.9634688Z           "evidence": []
2026-06-04T02:39:09.9635088Z         }
2026-06-04T02:39:09.9635419Z       }
2026-06-04T02:39:09.9635753Z     },
2026-06-04T02:39:09.9636084Z     {
2026-06-04T02:39:09.9636450Z       "id": "REQ-DOCS-4",
2026-06-04T02:39:09.9637116Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-04T02:39:09.9637825Z       "requiredStages": [],
2026-06-04T02:39:09.9638266Z       "stages": {
2026-06-04T02:39:09.9638637Z         "doc": {
2026-06-04T02:39:09.9639040Z           "complete": false,
2026-06-04T02:39:09.9639526Z           "evidence": []
2026-06-04T02:39:09.9639919Z         },
2026-06-04T02:39:09.9640264Z         "impl": {
2026-06-04T02:39:09.9640663Z           "complete": false,
2026-06-04T02:39:09.9641109Z           "evidence": []
2026-06-04T02:39:09.9641501Z         },
2026-06-04T02:39:09.9641851Z         "int": {
2026-06-04T02:39:09.9642244Z           "complete": false,
2026-06-04T02:39:09.9642695Z           "evidence": []
2026-06-04T02:39:09.9643090Z         },
2026-06-04T02:39:09.9643440Z         "unit": {
2026-06-04T02:39:09.9643848Z           "complete": false,
2026-06-04T02:39:09.9644290Z           "evidence": []
2026-06-04T02:39:09.9644684Z         }
2026-06-04T02:39:09.9645034Z       }
2026-06-04T02:39:09.9645364Z     },
2026-06-04T02:39:09.9645706Z     {
2026-06-04T02:39:09.9646072Z       "id": "REQ-DOCS-5",
2026-06-04T02:39:09.9646756Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-04T02:39:09.9647470Z       "requiredStages": [],
2026-06-04T02:39:09.9647899Z       "stages": {
2026-06-04T02:39:09.9648273Z         "doc": {
2026-06-04T02:39:09.9648668Z           "complete": false,
2026-06-04T02:39:09.9649111Z           "evidence": []
2026-06-04T02:39:09.9649552Z         },
2026-06-04T02:39:09.9649909Z         "impl": {
2026-06-04T02:39:09.9650306Z           "complete": false,
2026-06-04T02:39:09.9650738Z           "evidence": []
2026-06-04T02:39:09.9651142Z         },
2026-06-04T02:39:09.9651490Z         "int": {
2026-06-04T02:39:09.9651889Z           "complete": false,
2026-06-04T02:39:09.9652322Z           "evidence": []
2026-06-04T02:39:09.9652720Z         },
2026-06-04T02:39:09.9653076Z         "unit": {
2026-06-04T02:39:09.9653768Z           "complete": false,
2026-06-04T02:39:09.9654223Z           "evidence": []
2026-06-04T02:39:09.9654621Z         }
2026-06-04T02:39:09.9655114Z       }
2026-06-04T02:39:09.9655435Z     },
2026-06-04T02:39:09.9655766Z     {
2026-06-04T02:39:09.9656127Z       "id": "REQ-EP-1",
2026-06-04T02:39:09.9656637Z       "title": "Day-one endpoint types; open type system",
2026-06-04T02:39:09.9657221Z       "requiredStages": [
2026-06-04T02:39:09.9657648Z         "impl",
2026-06-04T02:39:09.9663335Z         "unit"
2026-06-04T02:39:09.9663856Z       ],
2026-06-04T02:39:09.9664213Z       "stages": {
2026-06-04T02:39:09.9664582Z         "doc": {
2026-06-04T02:39:09.9664975Z           "complete": false,
2026-06-04T02:39:09.9665413Z           "evidence": []
2026-06-04T02:39:09.9665805Z         },
2026-06-04T02:39:09.9666164Z         "impl": {
2026-06-04T02:39:09.9666569Z           "complete": true,
2026-06-04T02:39:09.9667006Z           "evidence": [
2026-06-04T02:39:09.9667389Z             {
2026-06-04T02:39:09.9667879Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T02:39:09.9668419Z               "line": 77
2026-06-04T02:39:09.9668811Z             },
2026-06-04T02:39:09.9669238Z             {
2026-06-04T02:39:09.9669694Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T02:39:09.9670239Z               "line": 94
2026-06-04T02:39:09.9670632Z             }
2026-06-04T02:39:09.9670983Z           ]
2026-06-04T02:39:09.9671325Z         },
2026-06-04T02:39:09.9671666Z         "int": {
2026-06-04T02:39:09.9672061Z           "complete": false,
2026-06-04T02:39:09.9672505Z           "evidence": []
2026-06-04T02:39:09.9672900Z         },
2026-06-04T02:39:09.9673253Z         "unit": {
2026-06-04T02:39:09.9673635Z           "complete": true,
2026-06-04T02:39:09.9674056Z           "evidence": [
2026-06-04T02:39:09.9674440Z             {
2026-06-04T02:39:09.9674985Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T02:39:09.9675614Z               "line": 161
2026-06-04T02:39:09.9676172Z             },
2026-06-04T02:39:09.9676553Z             {
2026-06-04T02:39:09.9677015Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T02:39:09.9677576Z               "line": 178
2026-06-04T02:39:09.9677979Z             }
2026-06-04T02:39:09.9678331Z           ]
2026-06-04T02:39:09.9678676Z         }
2026-06-04T02:39:09.9679006Z       }
2026-06-04T02:39:09.9679392Z     },
2026-06-04T02:39:09.9679727Z     {
2026-06-04T02:39:09.9680085Z       "id": "REQ-EP-2",
2026-06-04T02:39:09.9680667Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-04T02:39:09.9681313Z       "requiredStages": [
2026-06-04T02:39:09.9681724Z         "impl",
2026-06-04T02:39:09.9682089Z         "unit"
2026-06-04T02:39:09.9682451Z       ],
2026-06-04T02:39:09.9682798Z       "stages": {
2026-06-04T02:39:09.9683170Z         "doc": {
2026-06-04T02:39:09.9683563Z           "complete": false,
2026-06-04T02:39:09.9684009Z           "evidence": []
2026-06-04T02:39:09.9684425Z         },
2026-06-04T02:39:09.9684768Z         "impl": {
2026-06-04T02:39:09.9685163Z           "complete": true,
2026-06-04T02:39:09.9685589Z           "evidence": [
2026-06-04T02:39:09.9685989Z             {
2026-06-04T02:39:09.9686446Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T02:39:09.9686986Z               "line": 114
2026-06-04T02:39:09.9687385Z             },
2026-06-04T02:39:09.9687754Z             {
2026-06-04T02:39:09.9688211Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T02:39:09.9688747Z               "line": 131
2026-06-04T02:39:09.9689148Z             },
2026-06-04T02:39:09.9689566Z             {
2026-06-04T02:39:09.9690011Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T02:39:09.9690543Z               "line": 138
2026-06-04T02:39:09.9690946Z             }
2026-06-04T02:39:09.9691302Z           ]
2026-06-04T02:39:09.9691700Z         },
2026-06-04T02:39:09.9692108Z         "int": {
2026-06-04T02:39:09.9692527Z           "complete": false,
2026-06-04T02:39:09.9693387Z           "evidence": []
2026-06-04T02:39:09.9693806Z         },
2026-06-04T02:39:09.9694164Z         "unit": {
2026-06-04T02:39:09.9694721Z           "complete": true,
2026-06-04T02:39:09.9695153Z           "evidence": [
2026-06-04T02:39:09.9695546Z             {
2026-06-04T02:39:09.9695999Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T02:39:09.9696540Z               "line": 193
2026-06-04T02:39:09.9696940Z             },
2026-06-04T02:39:09.9697311Z             {
2026-06-04T02:39:09.9697765Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T02:39:09.9704136Z               "line": 211
2026-06-04T02:39:09.9704767Z             },
2026-06-04T02:39:09.9705135Z             {
2026-06-04T02:39:09.9705607Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-04T02:39:09.9706154Z               "line": 224
2026-06-04T02:39:09.9706559Z             }
2026-06-04T02:39:09.9706914Z           ]
2026-06-04T02:39:09.9707306Z         }
2026-06-04T02:39:09.9707642Z       }
2026-06-04T02:39:09.9707973Z     },
2026-06-04T02:39:09.9708305Z     {
2026-06-04T02:39:09.9708661Z       "id": "REQ-EP-3",
2026-06-04T02:39:09.9709393Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-04T02:39:09.9709585Z       "requiredStages": [
2026-06-04T02:39:09.9709750Z         "impl",
2026-06-04T02:39:09.9709899Z         "unit"
2026-06-04T02:39:09.9710053Z       ],
2026-06-04T02:39:09.9710209Z       "stages": {
2026-06-04T02:39:09.9710374Z         "doc": {
2026-06-04T02:39:09.9710562Z           "complete": false,
2026-06-04T02:39:09.9710734Z           "evidence": []
2026-06-04T02:39:09.9710899Z         },
2026-06-04T02:39:09.9711057Z         "impl": {
2026-06-04T02:39:09.9711243Z           "complete": true,
2026-06-04T02:39:09.9711413Z           "evidence": [
2026-06-04T02:39:09.9711576Z             {
2026-06-04T02:39:09.9711835Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T02:39:09.9712016Z               "line": 31
2026-06-04T02:39:09.9712181Z             },
2026-06-04T02:39:09.9712330Z             {
2026-06-04T02:39:09.9712589Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T02:39:09.9712769Z               "line": 49
2026-06-04T02:39:09.9712930Z             }
2026-06-04T02:39:09.9713088Z           ]
2026-06-04T02:39:09.9713235Z         },
2026-06-04T02:39:09.9713396Z         "int": {
2026-06-04T02:39:09.9713570Z           "complete": false,
2026-06-04T02:39:09.9713753Z           "evidence": []
2026-06-04T02:39:09.9713899Z         },
2026-06-04T02:39:09.9714064Z         "unit": {
2026-06-04T02:39:09.9714248Z           "complete": true,
2026-06-04T02:39:09.9714416Z           "evidence": [
2026-06-04T02:39:09.9714573Z             {
2026-06-04T02:39:09.9714824Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T02:39:09.9715004Z               "line": 156
2026-06-04T02:39:09.9715157Z             },
2026-06-04T02:39:09.9715320Z             {
2026-06-04T02:39:09.9715587Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T02:39:09.9715754Z               "line": 164
2026-06-04T02:39:09.9715910Z             },
2026-06-04T02:39:09.9716071Z             {
2026-06-04T02:39:09.9716348Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T02:39:09.9716525Z               "line": 177
2026-06-04T02:39:09.9716674Z             },
2026-06-04T02:39:09.9716830Z             {
2026-06-04T02:39:09.9717071Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T02:39:09.9717249Z               "line": 197
2026-06-04T02:39:09.9717396Z             },
2026-06-04T02:39:09.9717549Z             {
2026-06-04T02:39:09.9717803Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T02:39:09.9717972Z               "line": 213
2026-06-04T02:39:09.9718125Z             },
2026-06-04T02:39:09.9718273Z             {
2026-06-04T02:39:09.9718520Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-04T02:39:09.9718691Z               "line": 227
2026-06-04T02:39:09.9719128Z             }
2026-06-04T02:39:09.9719336Z           ]
2026-06-04T02:39:09.9719487Z         }
2026-06-04T02:39:09.9719644Z       }
2026-06-04T02:39:09.9719936Z     },
2026-06-04T02:39:09.9720086Z     {
2026-06-04T02:39:09.9720256Z       "id": "REQ-EP-4",
2026-06-04T02:39:09.9720574Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-04T02:39:09.9720768Z       "requiredStages": [
2026-06-04T02:39:09.9720924Z         "impl",
2026-06-04T02:39:09.9721090Z         "unit"
2026-06-04T02:39:09.9721244Z       ],
2026-06-04T02:39:09.9721420Z       "stages": {
2026-06-04T02:39:09.9721574Z         "doc": {
2026-06-04T02:39:09.9721766Z           "complete": false,
2026-06-04T02:39:09.9721950Z           "evidence": []
2026-06-04T02:39:09.9722097Z         },
2026-06-04T02:39:09.9722270Z         "impl": {
2026-06-04T02:39:09.9722448Z           "complete": true,
2026-06-04T02:39:09.9722623Z           "evidence": [
2026-06-04T02:39:09.9722773Z             {
2026-06-04T02:39:09.9723041Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T02:39:09.9723217Z               "line": 404
2026-06-04T02:39:09.9723373Z             },
2026-06-04T02:39:09.9723542Z             {
2026-06-04T02:39:09.9723778Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T02:39:09.9723960Z               "line": 603
2026-06-04T02:39:09.9724113Z             },
2026-06-04T02:39:09.9724272Z             {
2026-06-04T02:39:09.9724526Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T02:39:09.9724696Z               "line": 671
2026-06-04T02:39:09.9724857Z             },
2026-06-04T02:39:09.9725004Z             {
2026-06-04T02:39:09.9725242Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T02:39:09.9725412Z               "line": 83
2026-06-04T02:39:09.9725574Z             },
2026-06-04T02:39:09.9725732Z             {
2026-06-04T02:39:09.9725962Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T02:39:09.9726136Z               "line": 372
2026-06-04T02:39:09.9726301Z             },
2026-06-04T02:39:09.9726465Z             {
2026-06-04T02:39:09.9726692Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T02:39:09.9726887Z               "line": 443
2026-06-04T02:39:09.9727052Z             },
2026-06-04T02:39:09.9727198Z             {
2026-06-04T02:39:09.9727454Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T02:39:09.9727624Z               "line": 181
2026-06-04T02:39:09.9727787Z             },
2026-06-04T02:39:09.9727935Z             {
2026-06-04T02:39:09.9728184Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T02:39:09.9728365Z               "line": 300
2026-06-04T02:39:09.9728520Z             },
2026-06-04T02:39:09.9728678Z             {
2026-06-04T02:39:09.9728923Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-04T02:39:09.9729102Z               "line": 602
2026-06-04T02:39:09.9729299Z             }
2026-06-04T02:39:09.9729468Z           ]
2026-06-04T02:39:09.9729635Z         },
2026-06-04T02:39:09.9729791Z         "int": {
2026-06-04T02:39:09.9729978Z           "complete": false,
2026-06-04T02:39:09.9730152Z           "evidence": []
2026-06-04T02:39:09.9730319Z         },
2026-06-04T02:39:09.9730472Z         "unit": {
2026-06-04T02:39:09.9730663Z           "complete": true,
2026-06-04T02:39:09.9730837Z           "evidence": [
2026-06-04T02:39:09.9730985Z             {
2026-06-04T02:39:09.9731224Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-04T02:39:09.9731398Z               "line": 516
2026-06-04T02:39:09.9731555Z             },
2026-06-04T02:39:09.9731701Z             {
2026-06-04T02:39:09.9731968Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T02:39:09.9732139Z               "line": 75
2026-06-04T02:39:09.9732293Z             },
2026-06-04T02:39:09.9732451Z             {
2026-06-04T02:39:09.9732706Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-04T02:39:09.9732888Z               "line": 131
2026-06-04T02:39:09.9733204Z             }
2026-06-04T02:39:09.9733364Z           ]
2026-06-04T02:39:09.9733522Z         }
2026-06-04T02:39:09.9733667Z       }
2026-06-04T02:39:09.9733953Z     },
2026-06-04T02:39:09.9734105Z     {
2026-06-04T02:39:09.9734290Z       "id": "REQ-EP-5",
2026-06-04T02:39:09.9735703Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-04T02:39:09.9735913Z       "requiredStages": [],
2026-06-04T02:39:09.9741373Z       "stages": {
2026-06-04T02:39:09.9741659Z         "doc": {
2026-06-04T02:39:09.9741873Z           "complete": false,
2026-06-04T02:39:09.9742041Z           "evidence": []
2026-06-04T02:39:09.9742195Z         },
2026-06-04T02:39:09.9742358Z         "impl": {
2026-06-04T02:39:09.9742536Z           "complete": false,
2026-06-04T02:39:09.9742706Z           "evidence": []
2026-06-04T02:39:09.9742890Z         },
2026-06-04T02:39:09.9743057Z         "int": {
2026-06-04T02:39:09.9743233Z           "complete": false,
2026-06-04T02:39:09.9743422Z           "evidence": []
2026-06-04T02:39:09.9743580Z         },
2026-06-04T02:39:09.9743739Z         "unit": {
2026-06-04T02:39:09.9743925Z           "complete": false,
2026-06-04T02:39:09.9744096Z           "evidence": []
2026-06-04T02:39:09.9744251Z         }
2026-06-04T02:39:09.9744395Z       }
2026-06-04T02:39:09.9744548Z     },
2026-06-04T02:39:09.9744696Z     {
2026-06-04T02:39:09.9744872Z       "id": "REQ-FRONT-1",
2026-06-04T02:39:09.9745258Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-04T02:39:09.9745445Z       "requiredStages": [],
2026-06-04T02:39:09.9745607Z       "stages": {
2026-06-04T02:39:09.9745763Z         "doc": {
2026-06-04T02:39:09.9745949Z           "complete": false,
2026-06-04T02:39:09.9746124Z           "evidence": []
2026-06-04T02:39:09.9746270Z         },
2026-06-04T02:39:09.9746445Z         "impl": {
2026-06-04T02:39:09.9746622Z           "complete": false,
2026-06-04T02:39:09.9746796Z           "evidence": []
2026-06-04T02:39:09.9746954Z         },
2026-06-04T02:39:09.9747121Z         "int": {
2026-06-04T02:39:09.9747306Z           "complete": false,
2026-06-04T02:39:09.9747476Z           "evidence": []
2026-06-04T02:39:09.9747630Z         },
2026-06-04T02:39:09.9747789Z         "unit": {
2026-06-04T02:39:09.9747982Z           "complete": false,
2026-06-04T02:39:09.9748150Z           "evidence": []
2026-06-04T02:39:09.9748303Z         }
2026-06-04T02:39:09.9748460Z       }
2026-06-04T02:39:09.9748600Z     },
2026-06-04T02:39:09.9748754Z     {
2026-06-04T02:39:09.9748978Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-04T02:39:09.9749415Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-04T02:39:09.9749599Z       "requiredStages": [
2026-06-04T02:39:09.9749763Z         "impl",
2026-06-04T02:39:09.9749926Z         "unit"
2026-06-04T02:39:09.9750085Z       ],
2026-06-04T02:39:09.9750250Z       "stages": {
2026-06-04T02:39:09.9750403Z         "doc": {
2026-06-04T02:39:09.9750590Z           "complete": false,
2026-06-04T02:39:09.9750765Z           "evidence": []
2026-06-04T02:39:09.9750921Z         },
2026-06-04T02:39:09.9751084Z         "impl": {
2026-06-04T02:39:09.9751260Z           "complete": true,
2026-06-04T02:39:09.9751434Z           "evidence": [
2026-06-04T02:39:09.9751583Z             {
2026-06-04T02:39:09.9751844Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:09.9752011Z               "line": 60
2026-06-04T02:39:09.9752170Z             },
2026-06-04T02:39:09.9752330Z             {
2026-06-04T02:39:09.9752560Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T02:39:09.9752730Z               "line": 18
2026-06-04T02:39:09.9752878Z             },
2026-06-04T02:39:09.9753035Z             {
2026-06-04T02:39:09.9753262Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T02:39:09.9753698Z               "line": 94
2026-06-04T02:39:09.9753853Z             }
2026-06-04T02:39:09.9753998Z           ]
2026-06-04T02:39:09.9754155Z         },
2026-06-04T02:39:09.9754462Z         "int": {
2026-06-04T02:39:09.9754646Z           "complete": false,
2026-06-04T02:39:09.9754814Z           "evidence": []
2026-06-04T02:39:09.9754977Z         },
2026-06-04T02:39:09.9755135Z         "unit": {
2026-06-04T02:39:09.9755307Z           "complete": true,
2026-06-04T02:39:09.9755480Z           "evidence": [
2026-06-04T02:39:09.9755630Z             {
2026-06-04T02:39:09.9755885Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:09.9756058Z               "line": 255
2026-06-04T02:39:09.9756213Z             },
2026-06-04T02:39:09.9756366Z             {
2026-06-04T02:39:09.9756591Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T02:39:09.9756772Z               "line": 152
2026-06-04T02:39:09.9756924Z             },
2026-06-04T02:39:09.9757077Z             {
2026-06-04T02:39:09.9757322Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T02:39:09.9757503Z               "line": 188
2026-06-04T02:39:09.9757656Z             }
2026-06-04T02:39:09.9757815Z           ]
2026-06-04T02:39:09.9757970Z         }
2026-06-04T02:39:09.9758120Z       }
2026-06-04T02:39:09.9758270Z     },
2026-06-04T02:39:09.9758416Z     {
2026-06-04T02:39:09.9758664Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-04T02:39:09.9759125Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-04T02:39:09.9759361Z       "requiredStages": [
2026-06-04T02:39:09.9759526Z         "impl",
2026-06-04T02:39:09.9759675Z         "unit"
2026-06-04T02:39:09.9759834Z       ],
2026-06-04T02:39:09.9759993Z       "stages": {
2026-06-04T02:39:09.9760160Z         "doc": {
2026-06-04T02:39:09.9760345Z           "complete": false,
2026-06-04T02:39:09.9760515Z           "evidence": []
2026-06-04T02:39:09.9760671Z         },
2026-06-04T02:39:09.9760828Z         "impl": {
2026-06-04T02:39:09.9761029Z           "complete": true,
2026-06-04T02:39:09.9761196Z           "evidence": [
2026-06-04T02:39:09.9761352Z             {
2026-06-04T02:39:09.9761610Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T02:39:09.9761781Z               "line": 164
2026-06-04T02:39:09.9761938Z             }
2026-06-04T02:39:09.9762085Z           ]
2026-06-04T02:39:09.9762244Z         },
2026-06-04T02:39:09.9762397Z         "int": {
2026-06-04T02:39:09.9762583Z           "complete": true,
2026-06-04T02:39:09.9762760Z           "evidence": [
2026-06-04T02:39:09.9762910Z             {
2026-06-04T02:39:09.9763146Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T02:39:09.9763313Z               "line": 44
2026-06-04T02:39:09.9763468Z             },
2026-06-04T02:39:09.9763614Z             {
2026-06-04T02:39:09.9763854Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-04T02:39:09.9764024Z               "line": 66
2026-06-04T02:39:09.9764175Z             }
2026-06-04T02:39:09.9764337Z           ]
2026-06-04T02:39:09.9764484Z         },
2026-06-04T02:39:09.9764648Z         "unit": {
2026-06-04T02:39:09.9764826Z           "complete": true,
2026-06-04T02:39:09.9765010Z           "evidence": [
2026-06-04T02:39:09.9765164Z             {
2026-06-04T02:39:09.9765400Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T02:39:09.9765582Z               "line": 181
2026-06-04T02:39:09.9765729Z             },
2026-06-04T02:39:09.9765882Z             {
2026-06-04T02:39:09.9766115Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T02:39:09.9766296Z               "line": 233
2026-06-04T02:39:09.9766454Z             },
2026-06-04T02:39:09.9766603Z             {
2026-06-04T02:39:09.9766847Z               "path": "crates/spt-term/src/reader.rs",
2026-06-04T02:39:09.9767013Z               "line": 261
2026-06-04T02:39:09.9767171Z             }
2026-06-04T02:39:09.9767319Z           ]
2026-06-04T02:39:09.9767476Z         }
2026-06-04T02:39:09.9767627Z       }
2026-06-04T02:39:09.9768000Z     },
2026-06-04T02:39:09.9768148Z     {
2026-06-04T02:39:09.9768391Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-04T02:39:09.9769498Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-04T02:39:09.9769695Z       "requiredStages": [
2026-06-04T02:39:09.9769857Z         "impl",
2026-06-04T02:39:09.9770022Z         "unit",
2026-06-04T02:39:09.9770170Z         "int"
2026-06-04T02:39:09.9770323Z       ],
2026-06-04T02:39:09.9770481Z       "stages": {
2026-06-04T02:39:09.9770643Z         "doc": {
2026-06-04T02:39:09.9770821Z           "complete": false,
2026-06-04T02:39:09.9771007Z           "evidence": []
2026-06-04T02:39:09.9771176Z         },
2026-06-04T02:39:09.9771368Z         "impl": {
2026-06-04T02:39:09.9771594Z           "complete": true,
2026-06-04T02:39:09.9771821Z           "evidence": [
2026-06-04T02:39:09.9777363Z             {
2026-06-04T02:39:09.9777806Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9777997Z               "line": 133
2026-06-04T02:39:09.9778172Z             },
2026-06-04T02:39:09.9778317Z             {
2026-06-04T02:39:09.9778581Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9778750Z               "line": 152
2026-06-04T02:39:09.9778905Z             },
2026-06-04T02:39:09.9779052Z             {
2026-06-04T02:39:09.9779396Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T02:39:09.9779600Z               "line": 79
2026-06-04T02:39:09.9779760Z             },
2026-06-04T02:39:09.9779919Z             {
2026-06-04T02:39:09.9780143Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T02:39:09.9780323Z               "line": 51
2026-06-04T02:39:09.9780484Z             },
2026-06-04T02:39:09.9780632Z             {
2026-06-04T02:39:09.9780870Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T02:39:09.9781034Z               "line": 93
2026-06-04T02:39:09.9781205Z             },
2026-06-04T02:39:09.9781353Z             {
2026-06-04T02:39:09.9781604Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T02:39:09.9781794Z               "line": 27
2026-06-04T02:39:09.9781944Z             },
2026-06-04T02:39:09.9782102Z             {
2026-06-04T02:39:09.9782347Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T02:39:09.9782518Z               "line": 79
2026-06-04T02:39:09.9782667Z             },
2026-06-04T02:39:09.9782821Z             {
2026-06-04T02:39:09.9783068Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T02:39:09.9783239Z               "line": 102
2026-06-04T02:39:09.9783403Z             },
2026-06-04T02:39:09.9783552Z             {
2026-06-04T02:39:09.9783811Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:09.9783981Z               "line": 108
2026-06-04T02:39:09.9784142Z             }
2026-06-04T02:39:09.9784302Z           ]
2026-06-04T02:39:09.9784462Z         },
2026-06-04T02:39:09.9784622Z         "int": {
2026-06-04T02:39:09.9784800Z           "complete": true,
2026-06-04T02:39:09.9784991Z           "evidence": [
2026-06-04T02:39:09.9785136Z             {
2026-06-04T02:39:09.9785417Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-04T02:39:09.9785591Z               "line": 35
2026-06-04T02:39:09.9785743Z             }
2026-06-04T02:39:09.9785899Z           ]
2026-06-04T02:39:09.9786045Z         },
2026-06-04T02:39:09.9786204Z         "unit": {
2026-06-04T02:39:09.9786379Z           "complete": true,
2026-06-04T02:39:09.9786554Z           "evidence": [
2026-06-04T02:39:09.9786710Z             {
2026-06-04T02:39:09.9786958Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9787132Z               "line": 467
2026-06-04T02:39:09.9787282Z             },
2026-06-04T02:39:09.9787441Z             {
2026-06-04T02:39:09.9787668Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T02:39:09.9788167Z               "line": 212
2026-06-04T02:39:09.9788330Z             },
2026-06-04T02:39:09.9788480Z             {
2026-06-04T02:39:09.9788882Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T02:39:09.9789061Z               "line": 124
2026-06-04T02:39:09.9789284Z             },
2026-06-04T02:39:09.9789433Z             {
2026-06-04T02:39:09.9789692Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T02:39:09.9789867Z               "line": 136
2026-06-04T02:39:09.9790018Z             },
2026-06-04T02:39:09.9790178Z             {
2026-06-04T02:39:09.9790421Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T02:39:09.9790599Z               "line": 146
2026-06-04T02:39:09.9790750Z             },
2026-06-04T02:39:09.9790910Z             {
2026-06-04T02:39:09.9791160Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T02:39:09.9791329Z               "line": 159
2026-06-04T02:39:09.9791488Z             },
2026-06-04T02:39:09.9791650Z             {
2026-06-04T02:39:09.9791897Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-04T02:39:09.9792063Z               "line": 171
2026-06-04T02:39:09.9792234Z             },
2026-06-04T02:39:09.9792394Z             {
2026-06-04T02:39:09.9792634Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:09.9792814Z               "line": 207
2026-06-04T02:39:09.9792963Z             }
2026-06-04T02:39:09.9793115Z           ]
2026-06-04T02:39:09.9793269Z         }
2026-06-04T02:39:09.9793416Z       }
2026-06-04T02:39:09.9793570Z     },
2026-06-04T02:39:09.9793712Z     {
2026-06-04T02:39:09.9793968Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-04T02:39:09.9795366Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-04T02:39:09.9795575Z       "requiredStages": [],
2026-06-04T02:39:09.9795740Z       "stages": {
2026-06-04T02:39:09.9795900Z         "doc": {
2026-06-04T02:39:09.9796090Z           "complete": false,
2026-06-04T02:39:09.9796277Z           "evidence": []
2026-06-04T02:39:09.9796437Z         },
2026-06-04T02:39:09.9796595Z         "impl": {
2026-06-04T02:39:09.9796783Z           "complete": false,
2026-06-04T02:39:09.9796956Z           "evidence": []
2026-06-04T02:39:09.9797102Z         },
2026-06-04T02:39:09.9797264Z         "int": {
2026-06-04T02:39:09.9797439Z           "complete": false,
2026-06-04T02:39:09.9797617Z           "evidence": []
2026-06-04T02:39:09.9797765Z         },
2026-06-04T02:39:09.9797932Z         "unit": {
2026-06-04T02:39:09.9798113Z           "complete": false,
2026-06-04T02:39:09.9798284Z           "evidence": []
2026-06-04T02:39:09.9798441Z         }
2026-06-04T02:39:09.9798588Z       }
2026-06-04T02:39:09.9798742Z     },
2026-06-04T02:39:09.9798885Z     {
2026-06-04T02:39:09.9799109Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-04T02:39:09.9799577Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-04T02:39:09.9799782Z       "requiredStages": [
2026-06-04T02:39:09.9799949Z         "impl",
2026-06-04T02:39:09.9800100Z         "unit"
2026-06-04T02:39:09.9800256Z       ],
2026-06-04T02:39:09.9800419Z       "stages": {
2026-06-04T02:39:09.9800581Z         "doc": {
2026-06-04T02:39:09.9800769Z           "complete": false,
2026-06-04T02:39:09.9800941Z           "evidence": []
2026-06-04T02:39:09.9801098Z         },
2026-06-04T02:39:09.9801255Z         "impl": {
2026-06-04T02:39:09.9801440Z           "complete": true,
2026-06-04T02:39:09.9801612Z           "evidence": [
2026-06-04T02:39:09.9801770Z             {
2026-06-04T02:39:09.9802007Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:09.9802172Z               "line": 40
2026-06-04T02:39:09.9802335Z             },
2026-06-04T02:39:09.9802487Z             {
2026-06-04T02:39:09.9802728Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:09.9803080Z               "line": 98
2026-06-04T02:39:09.9803243Z             },
2026-06-04T02:39:09.9803537Z             {
2026-06-04T02:39:09.9803774Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:09.9803952Z               "line": 209
2026-06-04T02:39:09.9804104Z             },
2026-06-04T02:39:09.9804271Z             {
2026-06-04T02:39:09.9804496Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:09.9804674Z               "line": 291
2026-06-04T02:39:09.9804837Z             }
2026-06-04T02:39:09.9804985Z           ]
2026-06-04T02:39:09.9805144Z         },
2026-06-04T02:39:09.9805300Z         "int": {
2026-06-04T02:39:09.9805489Z           "complete": false,
2026-06-04T02:39:09.9805657Z           "evidence": []
2026-06-04T02:39:09.9805815Z         },
2026-06-04T02:39:09.9805976Z         "unit": {
2026-06-04T02:39:09.9806150Z           "complete": true,
2026-06-04T02:39:09.9806322Z           "evidence": [
2026-06-04T02:39:09.9806487Z             {
2026-06-04T02:39:09.9806725Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:09.9806904Z               "line": 326
2026-06-04T02:39:09.9807068Z             },
2026-06-04T02:39:09.9807234Z             {
2026-06-04T02:39:09.9807464Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:09.9807637Z               "line": 372
2026-06-04T02:39:09.9807786Z             },
2026-06-04T02:39:09.9807945Z             {
2026-06-04T02:39:09.9808175Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:09.9808352Z               "line": 413
2026-06-04T02:39:09.9808512Z             },
2026-06-04T02:39:09.9808662Z             {
2026-06-04T02:39:09.9814153Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:09.9814456Z               "line": 432
2026-06-04T02:39:09.9814627Z             }
2026-06-04T02:39:09.9814776Z           ]
2026-06-04T02:39:09.9814930Z         }
2026-06-04T02:39:09.9815087Z       }
2026-06-04T02:39:09.9815261Z     },
2026-06-04T02:39:09.9815413Z     {
2026-06-04T02:39:09.9815656Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-04T02:39:09.9815943Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-04T02:39:09.9816119Z       "requiredStages": [
2026-06-04T02:39:09.9816280Z         "impl",
2026-06-04T02:39:09.9816440Z         "unit"
2026-06-04T02:39:09.9816596Z       ],
2026-06-04T02:39:09.9816763Z       "stages": {
2026-06-04T02:39:09.9816921Z         "doc": {
2026-06-04T02:39:09.9817110Z           "complete": false,
2026-06-04T02:39:09.9817277Z           "evidence": []
2026-06-04T02:39:09.9817434Z         },
2026-06-04T02:39:09.9817597Z         "impl": {
2026-06-04T02:39:09.9817770Z           "complete": true,
2026-06-04T02:39:09.9817942Z           "evidence": [
2026-06-04T02:39:09.9818086Z             {
2026-06-04T02:39:09.9818321Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:09.9818488Z               "line": 111
2026-06-04T02:39:09.9818661Z             },
2026-06-04T02:39:09.9818821Z             {
2026-06-04T02:39:09.9819046Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:09.9819317Z               "line": 202
2026-06-04T02:39:09.9819470Z             }
2026-06-04T02:39:09.9819633Z           ]
2026-06-04T02:39:09.9819803Z         },
2026-06-04T02:39:09.9819978Z         "int": {
2026-06-04T02:39:09.9820165Z           "complete": false,
2026-06-04T02:39:09.9820332Z           "evidence": []
2026-06-04T02:39:09.9820493Z         },
2026-06-04T02:39:09.9820650Z         "unit": {
2026-06-04T02:39:09.9820839Z           "complete": true,
2026-06-04T02:39:09.9821004Z           "evidence": [
2026-06-04T02:39:09.9821167Z             {
2026-06-04T02:39:09.9821405Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:09.9821573Z               "line": 347
2026-06-04T02:39:09.9821732Z             },
2026-06-04T02:39:09.9821880Z             {
2026-06-04T02:39:09.9822117Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:09.9822561Z               "line": 391
2026-06-04T02:39:09.9822723Z             }
2026-06-04T02:39:09.9822877Z           ]
2026-06-04T02:39:09.9823208Z         }
2026-06-04T02:39:09.9823370Z       }
2026-06-04T02:39:09.9823512Z     },
2026-06-04T02:39:09.9823663Z     {
2026-06-04T02:39:09.9823910Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-04T02:39:09.9824369Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-04T02:39:09.9824560Z       "requiredStages": [
2026-06-04T02:39:09.9824716Z         "impl",
2026-06-04T02:39:09.9824876Z         "unit"
2026-06-04T02:39:09.9825024Z       ],
2026-06-04T02:39:09.9825188Z       "stages": {
2026-06-04T02:39:09.9825342Z         "doc": {
2026-06-04T02:39:09.9825530Z           "complete": false,
2026-06-04T02:39:09.9825707Z           "evidence": []
2026-06-04T02:39:09.9825850Z         },
2026-06-04T02:39:09.9826008Z         "impl": {
2026-06-04T02:39:09.9826180Z           "complete": true,
2026-06-04T02:39:09.9826375Z           "evidence": [
2026-06-04T02:39:09.9826524Z             {
2026-06-04T02:39:09.9826777Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T02:39:09.9826958Z               "line": 21
2026-06-04T02:39:09.9827110Z             },
2026-06-04T02:39:09.9827269Z             {
2026-06-04T02:39:09.9827503Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T02:39:09.9827679Z               "line": 152
2026-06-04T02:39:09.9827835Z             }
2026-06-04T02:39:09.9827980Z           ]
2026-06-04T02:39:09.9828133Z         },
2026-06-04T02:39:09.9828283Z         "int": {
2026-06-04T02:39:09.9828466Z           "complete": false,
2026-06-04T02:39:09.9828636Z           "evidence": []
2026-06-04T02:39:09.9828789Z         },
2026-06-04T02:39:09.9828941Z         "unit": {
2026-06-04T02:39:09.9829121Z           "complete": true,
2026-06-04T02:39:09.9829351Z           "evidence": [
2026-06-04T02:39:09.9829501Z             {
2026-06-04T02:39:09.9829741Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T02:39:09.9829919Z               "line": 169
2026-06-04T02:39:09.9830076Z             },
2026-06-04T02:39:09.9830242Z             {
2026-06-04T02:39:09.9830476Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T02:39:09.9830647Z               "line": 176
2026-06-04T02:39:09.9830803Z             },
2026-06-04T02:39:09.9830955Z             {
2026-06-04T02:39:09.9831186Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T02:39:09.9831367Z               "line": 185
2026-06-04T02:39:09.9831529Z             },
2026-06-04T02:39:09.9831683Z             {
2026-06-04T02:39:09.9831921Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T02:39:09.9832084Z               "line": 194
2026-06-04T02:39:09.9832240Z             },
2026-06-04T02:39:09.9832387Z             {
2026-06-04T02:39:09.9832625Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T02:39:09.9832800Z               "line": 203
2026-06-04T02:39:09.9832962Z             },
2026-06-04T02:39:09.9833118Z             {
2026-06-04T02:39:09.9833344Z               "path": "crates/spt-live/src/context.rs",
2026-06-04T02:39:09.9833543Z               "line": 212
2026-06-04T02:39:09.9833698Z             },
2026-06-04T02:39:09.9833855Z             {
2026-06-04T02:39:09.9834086Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T02:39:09.9834255Z               "line": 132
2026-06-04T02:39:09.9834417Z             },
2026-06-04T02:39:09.9834567Z             {
2026-06-04T02:39:09.9834811Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T02:39:09.9834977Z               "line": 211
2026-06-04T02:39:09.9835135Z             }
2026-06-04T02:39:09.9835295Z           ]
2026-06-04T02:39:09.9835442Z         }
2026-06-04T02:39:09.9835597Z       }
2026-06-04T02:39:09.9835743Z     },
2026-06-04T02:39:09.9835897Z     {
2026-06-04T02:39:09.9836147Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-04T02:39:09.9836458Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-04T02:39:09.9836812Z       "requiredStages": [
2026-06-04T02:39:09.9836975Z         "impl",
2026-06-04T02:39:09.9837267Z         "unit"
2026-06-04T02:39:09.9837415Z       ],
2026-06-04T02:39:09.9837576Z       "stages": {
2026-06-04T02:39:09.9837728Z         "doc": {
2026-06-04T02:39:09.9837920Z           "complete": false,
2026-06-04T02:39:09.9838099Z           "evidence": []
2026-06-04T02:39:09.9838247Z         },
2026-06-04T02:39:09.9838409Z         "impl": {
2026-06-04T02:39:09.9838585Z           "complete": true,
2026-06-04T02:39:09.9838764Z           "evidence": [
2026-06-04T02:39:09.9838911Z             {
2026-06-04T02:39:09.9839147Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T02:39:09.9839419Z               "line": 25
2026-06-04T02:39:09.9839569Z             },
2026-06-04T02:39:09.9839730Z             {
2026-06-04T02:39:09.9839960Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T02:39:09.9840135Z               "line": 13
2026-06-04T02:39:09.9840302Z             },
2026-06-04T02:39:09.9840462Z             {
2026-06-04T02:39:09.9840700Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T02:39:09.9840880Z               "line": 78
2026-06-04T02:39:09.9841037Z             }
2026-06-04T02:39:09.9841185Z           ]
2026-06-04T02:39:09.9841337Z         },
2026-06-04T02:39:09.9841491Z         "int": {
2026-06-04T02:39:09.9841680Z           "complete": false,
2026-06-04T02:39:09.9841862Z           "evidence": []
2026-06-04T02:39:09.9842017Z         },
2026-06-04T02:39:09.9842178Z         "unit": {
2026-06-04T02:39:09.9842357Z           "complete": true,
2026-06-04T02:39:09.9842529Z           "evidence": [
2026-06-04T02:39:09.9842674Z             {
2026-06-04T02:39:09.9842905Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T02:39:09.9843084Z               "line": 180
2026-06-04T02:39:09.9843241Z             },
2026-06-04T02:39:09.9843395Z             {
2026-06-04T02:39:09.9843612Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T02:39:09.9843801Z               "line": 205
2026-06-04T02:39:09.9849144Z             },
2026-06-04T02:39:09.9849543Z             {
2026-06-04T02:39:09.9849811Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-04T02:39:09.9849981Z               "line": 96
2026-06-04T02:39:09.9850134Z             }
2026-06-04T02:39:09.9850282Z           ]
2026-06-04T02:39:09.9850436Z         }
2026-06-04T02:39:09.9850582Z       }
2026-06-04T02:39:09.9850732Z     },
2026-06-04T02:39:09.9850884Z     {
2026-06-04T02:39:09.9851090Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-04T02:39:09.9851441Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-04T02:39:09.9851625Z       "requiredStages": [
2026-06-04T02:39:09.9851795Z         "impl",
2026-06-04T02:39:09.9851947Z         "unit"
2026-06-04T02:39:09.9852103Z       ],
2026-06-04T02:39:09.9852267Z       "stages": {
2026-06-04T02:39:09.9852429Z         "doc": {
2026-06-04T02:39:09.9852632Z           "complete": false,
2026-06-04T02:39:09.9852801Z           "evidence": []
2026-06-04T02:39:09.9852956Z         },
2026-06-04T02:39:09.9853113Z         "impl": {
2026-06-04T02:39:09.9853306Z           "complete": true,
2026-06-04T02:39:09.9853478Z           "evidence": [
2026-06-04T02:39:09.9853625Z             {
2026-06-04T02:39:09.9853868Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T02:39:09.9854032Z               "line": 48
2026-06-04T02:39:09.9854185Z             },
2026-06-04T02:39:09.9854329Z             {
2026-06-04T02:39:09.9854570Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T02:39:09.9854740Z               "line": 55
2026-06-04T02:39:09.9854889Z             },
2026-06-04T02:39:09.9855044Z             {
2026-06-04T02:39:09.9855277Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T02:39:09.9855448Z               "line": 74
2026-06-04T02:39:09.9855597Z             },
2026-06-04T02:39:09.9855761Z             {
2026-06-04T02:39:09.9856258Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T02:39:09.9856420Z               "line": 91
2026-06-04T02:39:09.9856576Z             }
2026-06-04T02:39:09.9856867Z           ]
2026-06-04T02:39:09.9857030Z         },
2026-06-04T02:39:09.9857187Z         "int": {
2026-06-04T02:39:09.9857372Z           "complete": false,
2026-06-04T02:39:09.9858472Z           "evidence": []
2026-06-04T02:39:09.9858724Z         },
2026-06-04T02:39:09.9858934Z         "unit": {
2026-06-04T02:39:09.9859355Z           "complete": true,
2026-06-04T02:39:09.9859602Z           "evidence": [
2026-06-04T02:39:09.9859809Z             {
2026-06-04T02:39:09.9860116Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T02:39:09.9860352Z               "line": 149
2026-06-04T02:39:09.9860543Z             },
2026-06-04T02:39:09.9860738Z             {
2026-06-04T02:39:09.9861000Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T02:39:09.9861348Z               "line": 163
2026-06-04T02:39:09.9861541Z             },
2026-06-04T02:39:09.9861710Z             {
2026-06-04T02:39:09.9861951Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T02:39:09.9862133Z               "line": 173
2026-06-04T02:39:09.9862296Z             },
2026-06-04T02:39:09.9862448Z             {
2026-06-04T02:39:09.9862688Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T02:39:09.9862855Z               "line": 191
2026-06-04T02:39:09.9863013Z             },
2026-06-04T02:39:09.9863169Z             {
2026-06-04T02:39:09.9863405Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T02:39:09.9863589Z               "line": 204
2026-06-04T02:39:09.9863742Z             }
2026-06-04T02:39:09.9863904Z           ]
2026-06-04T02:39:09.9864050Z         }
2026-06-04T02:39:09.9864208Z       }
2026-06-04T02:39:09.9864365Z     },
2026-06-04T02:39:09.9864509Z     {
2026-06-04T02:39:09.9864772Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-04T02:39:09.9865174Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-04T02:39:09.9865385Z       "requiredStages": [
2026-06-04T02:39:09.9865550Z         "impl",
2026-06-04T02:39:09.9865719Z         "unit"
2026-06-04T02:39:09.9865878Z       ],
2026-06-04T02:39:09.9866033Z       "stages": {
2026-06-04T02:39:09.9866205Z         "doc": {
2026-06-04T02:39:09.9866383Z           "complete": false,
2026-06-04T02:39:09.9866556Z           "evidence": []
2026-06-04T02:39:09.9866704Z         },
2026-06-04T02:39:09.9866878Z         "impl": {
2026-06-04T02:39:09.9867064Z           "complete": true,
2026-06-04T02:39:09.9867227Z           "evidence": [
2026-06-04T02:39:09.9867386Z             {
2026-06-04T02:39:09.9867641Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9867825Z               "line": 264
2026-06-04T02:39:09.9867987Z             },
2026-06-04T02:39:09.9868134Z             {
2026-06-04T02:39:09.9868378Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T02:39:09.9868560Z               "line": 26
2026-06-04T02:39:09.9868718Z             }
2026-06-04T02:39:09.9868869Z           ]
2026-06-04T02:39:09.9869031Z         },
2026-06-04T02:39:09.9869284Z         "int": {
2026-06-04T02:39:09.9869470Z           "complete": false,
2026-06-04T02:39:09.9869648Z           "evidence": []
2026-06-04T02:39:09.9869797Z         },
2026-06-04T02:39:09.9869961Z         "unit": {
2026-06-04T02:39:09.9870138Z           "complete": true,
2026-06-04T02:39:09.9870311Z           "evidence": [
2026-06-04T02:39:09.9870464Z             {
2026-06-04T02:39:09.9870715Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T02:39:09.9870898Z               "line": 138
2026-06-04T02:39:09.9871053Z             },
2026-06-04T02:39:09.9871213Z             {
2026-06-04T02:39:09.9871447Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T02:39:09.9871627Z               "line": 181
2026-06-04T02:39:09.9871787Z             }
2026-06-04T02:39:09.9871945Z           ]
2026-06-04T02:39:09.9872369Z         }
2026-06-04T02:39:09.9872519Z       }
2026-06-04T02:39:09.9872678Z     },
2026-06-04T02:39:09.9872825Z     {
2026-06-04T02:39:09.9873318Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-04T02:39:09.9873648Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-04T02:39:09.9873844Z       "requiredStages": [
2026-06-04T02:39:09.9874010Z         "impl",
2026-06-04T02:39:09.9874164Z         "unit"
2026-06-04T02:39:09.9874323Z       ],
2026-06-04T02:39:09.9874480Z       "stages": {
2026-06-04T02:39:09.9874641Z         "doc": {
2026-06-04T02:39:09.9874826Z           "complete": false,
2026-06-04T02:39:09.9875019Z           "evidence": []
2026-06-04T02:39:09.9875181Z         },
2026-06-04T02:39:09.9875344Z         "impl": {
2026-06-04T02:39:09.9875527Z           "complete": true,
2026-06-04T02:39:09.9875692Z           "evidence": [
2026-06-04T02:39:09.9875851Z             {
2026-06-04T02:39:09.9876104Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T02:39:09.9876299Z               "line": 36
2026-06-04T02:39:09.9876461Z             },
2026-06-04T02:39:09.9876612Z             {
2026-06-04T02:39:09.9876881Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T02:39:09.9877044Z               "line": 68
2026-06-04T02:39:09.9877202Z             }
2026-06-04T02:39:09.9877360Z           ]
2026-06-04T02:39:09.9877507Z         },
2026-06-04T02:39:09.9877673Z         "int": {
2026-06-04T02:39:09.9877852Z           "complete": false,
2026-06-04T02:39:09.9878027Z           "evidence": []
2026-06-04T02:39:09.9878175Z         },
2026-06-04T02:39:09.9878338Z         "unit": {
2026-06-04T02:39:09.9878521Z           "complete": true,
2026-06-04T02:39:09.9878689Z           "evidence": [
2026-06-04T02:39:09.9878850Z             {
2026-06-04T02:39:09.9879097Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T02:39:09.9879333Z               "line": 143
2026-06-04T02:39:09.9879489Z             },
2026-06-04T02:39:09.9879659Z             {
2026-06-04T02:39:09.9879922Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T02:39:09.9880092Z               "line": 160
2026-06-04T02:39:09.9880260Z             },
2026-06-04T02:39:09.9880410Z             {
2026-06-04T02:39:09.9880673Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T02:39:09.9880844Z               "line": 168
2026-06-04T02:39:09.9880998Z             }
2026-06-04T02:39:09.9881155Z           ]
2026-06-04T02:39:09.9887506Z         }
2026-06-04T02:39:09.9887853Z       }
2026-06-04T02:39:09.9888003Z     },
2026-06-04T02:39:09.9888156Z     {
2026-06-04T02:39:09.9888436Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-04T02:39:09.9888813Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-04T02:39:09.9889010Z       "requiredStages": [
2026-06-04T02:39:09.9889275Z         "impl",
2026-06-04T02:39:09.9889440Z         "unit"
2026-06-04T02:39:09.9889590Z       ],
2026-06-04T02:39:09.9889762Z       "stages": {
2026-06-04T02:39:09.9889952Z         "doc": {
2026-06-04T02:39:09.9890140Z           "complete": false,
2026-06-04T02:39:09.9890321Z           "evidence": []
2026-06-04T02:39:09.9890486Z         },
2026-06-04T02:39:09.9890654Z         "impl": {
2026-06-04T02:39:09.9890829Z           "complete": true,
2026-06-04T02:39:09.9891005Z           "evidence": [
2026-06-04T02:39:09.9891155Z             {
2026-06-04T02:39:09.9891414Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T02:39:09.9891591Z               "line": 107
2026-06-04T02:39:09.9891742Z             }
2026-06-04T02:39:09.9891899Z           ]
2026-06-04T02:39:09.9892049Z         },
2026-06-04T02:39:09.9892210Z         "int": {
2026-06-04T02:39:09.9892386Z           "complete": false,
2026-06-04T02:39:09.9892567Z           "evidence": []
2026-06-04T02:39:09.9892724Z         },
2026-06-04T02:39:09.9892882Z         "unit": {
2026-06-04T02:39:09.9893066Z           "complete": true,
2026-06-04T02:39:09.9893228Z           "evidence": [
2026-06-04T02:39:09.9893649Z             {
2026-06-04T02:39:09.9893914Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T02:39:09.9894095Z               "line": 184
2026-06-04T02:39:09.9894459Z             },
2026-06-04T02:39:09.9894619Z             {
2026-06-04T02:39:09.9894880Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T02:39:09.9895053Z               "line": 193
2026-06-04T02:39:09.9895214Z             },
2026-06-04T02:39:09.9895363Z             {
2026-06-04T02:39:09.9895617Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T02:39:09.9895797Z               "line": 201
2026-06-04T02:39:09.9895950Z             },
2026-06-04T02:39:09.9896107Z             {
2026-06-04T02:39:09.9896354Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T02:39:09.9896531Z               "line": 210
2026-06-04T02:39:09.9896683Z             },
2026-06-04T02:39:09.9896844Z             {
2026-06-04T02:39:09.9897093Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-04T02:39:09.9897275Z               "line": 219
2026-06-04T02:39:09.9897436Z             }
2026-06-04T02:39:09.9897584Z           ]
2026-06-04T02:39:09.9897751Z         }
2026-06-04T02:39:09.9897893Z       }
2026-06-04T02:39:09.9898050Z     },
2026-06-04T02:39:09.9898201Z     {
2026-06-04T02:39:09.9898426Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-04T02:39:09.9898766Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-04T02:39:09.9898948Z       "requiredStages": [
2026-06-04T02:39:09.9899116Z         "impl",
2026-06-04T02:39:09.9899328Z         "unit"
2026-06-04T02:39:09.9899484Z       ],
2026-06-04T02:39:09.9899651Z       "stages": {
2026-06-04T02:39:09.9899803Z         "doc": {
2026-06-04T02:39:09.9899986Z           "complete": false,
2026-06-04T02:39:09.9900153Z           "evidence": []
2026-06-04T02:39:09.9900313Z         },
2026-06-04T02:39:09.9900474Z         "impl": {
2026-06-04T02:39:09.9900668Z           "complete": true,
2026-06-04T02:39:09.9900862Z           "evidence": [
2026-06-04T02:39:09.9901013Z             {
2026-06-04T02:39:09.9901247Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T02:39:09.9901425Z               "line": 14
2026-06-04T02:39:09.9901583Z             },
2026-06-04T02:39:09.9901732Z             {
2026-06-04T02:39:09.9901961Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T02:39:09.9902136Z               "line": 62
2026-06-04T02:39:09.9902286Z             }
2026-06-04T02:39:09.9902447Z           ]
2026-06-04T02:39:09.9902598Z         },
2026-06-04T02:39:09.9902759Z         "int": {
2026-06-04T02:39:09.9902937Z           "complete": false,
2026-06-04T02:39:09.9903117Z           "evidence": []
2026-06-04T02:39:09.9903273Z         },
2026-06-04T02:39:09.9903426Z         "unit": {
2026-06-04T02:39:09.9903609Z           "complete": true,
2026-06-04T02:39:09.9903776Z           "evidence": [
2026-06-04T02:39:09.9903933Z             {
2026-06-04T02:39:09.9904162Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T02:39:09.9904360Z               "line": 160
2026-06-04T02:39:09.9904518Z             },
2026-06-04T02:39:09.9904668Z             {
2026-06-04T02:39:09.9904907Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T02:39:09.9905075Z               "line": 197
2026-06-04T02:39:09.9905233Z             },
2026-06-04T02:39:09.9905383Z             {
2026-06-04T02:39:09.9905610Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T02:39:09.9905787Z               "line": 213
2026-06-04T02:39:09.9905936Z             }
2026-06-04T02:39:09.9906091Z           ]
2026-06-04T02:39:09.9906240Z         }
2026-06-04T02:39:09.9906396Z       }
2026-06-04T02:39:09.9906538Z     },
2026-06-04T02:39:09.9906694Z     {
2026-06-04T02:39:09.9906929Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-04T02:39:09.9907376Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-04T02:39:09.9907571Z       "requiredStages": [
2026-06-04T02:39:09.9907891Z         "impl",
2026-06-04T02:39:09.9908057Z         "unit"
2026-06-04T02:39:09.9908203Z       ],
2026-06-04T02:39:09.9908373Z       "stages": {
2026-06-04T02:39:09.9908682Z         "doc": {
2026-06-04T02:39:09.9908863Z           "complete": false,
2026-06-04T02:39:09.9909040Z           "evidence": []
2026-06-04T02:39:09.9909239Z         },
2026-06-04T02:39:09.9909409Z         "impl": {
2026-06-04T02:39:09.9909588Z           "complete": true,
2026-06-04T02:39:09.9909763Z           "evidence": [
2026-06-04T02:39:09.9909922Z             {
2026-06-04T02:39:09.9910160Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T02:39:09.9910337Z               "line": 76
2026-06-04T02:39:09.9910488Z             },
2026-06-04T02:39:09.9910645Z             {
2026-06-04T02:39:09.9910877Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T02:39:09.9911058Z               "line": 163
2026-06-04T02:39:09.9911218Z             },
2026-06-04T02:39:09.9911362Z             {
2026-06-04T02:39:09.9911600Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T02:39:09.9911784Z               "line": 229
2026-06-04T02:39:09.9911942Z             },
2026-06-04T02:39:09.9912103Z             {
2026-06-04T02:39:09.9912347Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T02:39:09.9912521Z               "line": 265
2026-06-04T02:39:09.9912673Z             }
2026-06-04T02:39:09.9912829Z           ]
2026-06-04T02:39:09.9912974Z         },
2026-06-04T02:39:09.9913140Z         "int": {
2026-06-04T02:39:09.9913316Z           "complete": false,
2026-06-04T02:39:09.9913494Z           "evidence": []
2026-06-04T02:39:09.9913652Z         },
2026-06-04T02:39:09.9913810Z         "unit": {
2026-06-04T02:39:09.9913996Z           "complete": true,
2026-06-04T02:39:09.9914163Z           "evidence": [
2026-06-04T02:39:09.9914325Z             {
2026-06-04T02:39:09.9914555Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T02:39:09.9914730Z               "line": 310
2026-06-04T02:39:09.9914900Z             },
2026-06-04T02:39:09.9915048Z             {
2026-06-04T02:39:09.9915287Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T02:39:09.9915464Z               "line": 318
2026-06-04T02:39:09.9915625Z             },
2026-06-04T02:39:09.9915773Z             {
2026-06-04T02:39:09.9916010Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T02:39:09.9916188Z               "line": 341
2026-06-04T02:39:09.9916338Z             },
2026-06-04T02:39:09.9916496Z             {
2026-06-04T02:39:09.9916723Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T02:39:09.9916899Z               "line": 378
2026-06-04T02:39:09.9917062Z             },
2026-06-04T02:39:09.9917210Z             {
2026-06-04T02:39:09.9917452Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T02:39:09.9917624Z               "line": 389
2026-06-04T02:39:09.9923028Z             },
2026-06-04T02:39:09.9923319Z             {
2026-06-04T02:39:09.9923584Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T02:39:09.9923798Z               "line": 401
2026-06-04T02:39:09.9923950Z             },
2026-06-04T02:39:09.9924106Z             {
2026-06-04T02:39:09.9924355Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-04T02:39:09.9924527Z               "line": 413
2026-06-04T02:39:09.9924673Z             }
2026-06-04T02:39:09.9924830Z           ]
2026-06-04T02:39:09.9924985Z         }
2026-06-04T02:39:09.9925132Z       }
2026-06-04T02:39:09.9925282Z     },
2026-06-04T02:39:09.9925428Z     {
2026-06-04T02:39:09.9925640Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-04T02:39:09.9925939Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-04T02:39:09.9926127Z       "requiredStages": [
2026-06-04T02:39:09.9926288Z         "impl",
2026-06-04T02:39:09.9926435Z         "int"
2026-06-04T02:39:09.9926590Z       ],
2026-06-04T02:39:09.9926744Z       "stages": {
2026-06-04T02:39:09.9926904Z         "doc": {
2026-06-04T02:39:09.9927081Z           "complete": false,
2026-06-04T02:39:09.9927516Z           "evidence": []
2026-06-04T02:39:09.9927672Z         },
2026-06-04T02:39:09.9927826Z         "impl": {
2026-06-04T02:39:09.9928151Z           "complete": true,
2026-06-04T02:39:09.9928317Z           "evidence": [
2026-06-04T02:39:09.9928470Z             {
2026-06-04T02:39:09.9928704Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T02:39:09.9928879Z               "line": 22
2026-06-04T02:39:09.9929039Z             }
2026-06-04T02:39:09.9929249Z           ]
2026-06-04T02:39:09.9929408Z         },
2026-06-04T02:39:09.9929561Z         "int": {
2026-06-04T02:39:09.9929744Z           "complete": true,
2026-06-04T02:39:09.9929912Z           "evidence": [
2026-06-04T02:39:09.9930072Z             {
2026-06-04T02:39:09.9930328Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-04T02:39:09.9930502Z               "line": 18
2026-06-04T02:39:09.9930657Z             }
2026-06-04T02:39:09.9930805Z           ]
2026-06-04T02:39:09.9930960Z         },
2026-06-04T02:39:09.9931132Z         "unit": {
2026-06-04T02:39:09.9931320Z           "complete": false,
2026-06-04T02:39:09.9931499Z           "evidence": []
2026-06-04T02:39:09.9931655Z         }
2026-06-04T02:39:09.9931809Z       }
2026-06-04T02:39:09.9931949Z     },
2026-06-04T02:39:09.9932100Z     {
2026-06-04T02:39:09.9932332Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-04T02:39:09.9932735Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-04T02:39:09.9932927Z       "requiredStages": [
2026-06-04T02:39:09.9933080Z         "impl",
2026-06-04T02:39:09.9933236Z         "unit"
2026-06-04T02:39:09.9933385Z       ],
2026-06-04T02:39:09.9933552Z       "stages": {
2026-06-04T02:39:09.9933705Z         "doc": {
2026-06-04T02:39:09.9933898Z           "complete": false,
2026-06-04T02:39:09.9934067Z           "evidence": []
2026-06-04T02:39:09.9934229Z         },
2026-06-04T02:39:09.9934394Z         "impl": {
2026-06-04T02:39:09.9934569Z           "complete": true,
2026-06-04T02:39:09.9934756Z           "evidence": [
2026-06-04T02:39:09.9934905Z             {
2026-06-04T02:39:09.9935169Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9935364Z               "line": 263
2026-06-04T02:39:09.9935522Z             },
2026-06-04T02:39:09.9935676Z             {
2026-06-04T02:39:09.9935908Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T02:39:09.9936082Z               "line": 27
2026-06-04T02:39:09.9936234Z             }
2026-06-04T02:39:09.9936390Z           ]
2026-06-04T02:39:09.9936545Z         },
2026-06-04T02:39:09.9936703Z         "int": {
2026-06-04T02:39:09.9936886Z           "complete": false,
2026-06-04T02:39:09.9937051Z           "evidence": []
2026-06-04T02:39:09.9937203Z         },
2026-06-04T02:39:09.9937358Z         "unit": {
2026-06-04T02:39:09.9937543Z           "complete": true,
2026-06-04T02:39:09.9937705Z           "evidence": [
2026-06-04T02:39:09.9937862Z             {
2026-06-04T02:39:09.9938126Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:09.9938290Z               "line": 561
2026-06-04T02:39:09.9938450Z             },
2026-06-04T02:39:09.9938609Z             {
2026-06-04T02:39:09.9938845Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T02:39:09.9939023Z               "line": 163
2026-06-04T02:39:09.9939207Z             }
2026-06-04T02:39:09.9939365Z           ]
2026-06-04T02:39:09.9939554Z         }
2026-06-04T02:39:09.9939711Z       }
2026-06-04T02:39:09.9939863Z     },
2026-06-04T02:39:09.9940012Z     {
2026-06-04T02:39:09.9940258Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-04T02:39:09.9940604Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-04T02:39:09.9940796Z       "requiredStages": [
2026-06-04T02:39:09.9940952Z         "impl",
2026-06-04T02:39:09.9941111Z         "unit"
2026-06-04T02:39:09.9941255Z       ],
2026-06-04T02:39:09.9941420Z       "stages": {
2026-06-04T02:39:09.9941579Z         "doc": {
2026-06-04T02:39:09.9941936Z           "complete": false,
2026-06-04T02:39:09.9942114Z           "evidence": []
2026-06-04T02:39:09.9942261Z         },
2026-06-04T02:39:09.9942574Z         "impl": {
2026-06-04T02:39:09.9942756Z           "complete": true,
2026-06-04T02:39:09.9942933Z           "evidence": [
2026-06-04T02:39:09.9943091Z             {
2026-06-04T02:39:09.9943325Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T02:39:09.9943494Z               "line": 20
2026-06-04T02:39:09.9943645Z             },
2026-06-04T02:39:09.9943801Z             {
2026-06-04T02:39:09.9944029Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T02:39:09.9944206Z               "line": 94
2026-06-04T02:39:09.9944362Z             },
2026-06-04T02:39:09.9944512Z             {
2026-06-04T02:39:09.9944769Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T02:39:09.9944938Z               "line": 70
2026-06-04T02:39:09.9945098Z             },
2026-06-04T02:39:09.9945250Z             {
2026-06-04T02:39:09.9945521Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T02:39:09.9945697Z               "line": 82
2026-06-04T02:39:09.9945858Z             }
2026-06-04T02:39:09.9946013Z           ]
2026-06-04T02:39:09.9946160Z         },
2026-06-04T02:39:09.9946315Z         "int": {
2026-06-04T02:39:09.9946489Z           "complete": false,
2026-06-04T02:39:09.9946664Z           "evidence": []
2026-06-04T02:39:09.9946819Z         },
2026-06-04T02:39:09.9946972Z         "unit": {
2026-06-04T02:39:09.9947156Z           "complete": true,
2026-06-04T02:39:09.9947321Z           "evidence": [
2026-06-04T02:39:09.9947482Z             {
2026-06-04T02:39:09.9947721Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T02:39:09.9947897Z               "line": 139
2026-06-04T02:39:09.9948065Z             },
2026-06-04T02:39:09.9948213Z             {
2026-06-04T02:39:09.9948448Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T02:39:09.9948619Z               "line": 162
2026-06-04T02:39:09.9948793Z             },
2026-06-04T02:39:09.9948939Z             {
2026-06-04T02:39:09.9949230Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T02:39:09.9949426Z               "line": 173
2026-06-04T02:39:09.9949580Z             },
2026-06-04T02:39:09.9949735Z             {
2026-06-04T02:39:09.9949966Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T02:39:09.9950138Z               "line": 189
2026-06-04T02:39:09.9950285Z             },
2026-06-04T02:39:09.9950442Z             {
2026-06-04T02:39:09.9950679Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-04T02:39:09.9950842Z               "line": 200
2026-06-04T02:39:09.9950999Z             },
2026-06-04T02:39:09.9951142Z             {
2026-06-04T02:39:09.9951393Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-04T02:39:09.9951559Z               "line": 139
2026-06-04T02:39:09.9951715Z             }
2026-06-04T02:39:09.9951873Z           ]
2026-06-04T02:39:09.9952032Z         }
2026-06-04T02:39:09.9952190Z       }
2026-06-04T02:39:09.9952333Z     },
2026-06-04T02:39:09.9952484Z     {
2026-06-04T02:39:09.9952689Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-04T02:39:09.9958292Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-04T02:39:09.9958574Z       "requiredStages": [
2026-06-04T02:39:09.9958738Z         "impl",
2026-06-04T02:39:09.9958896Z         "unit"
2026-06-04T02:39:09.9959039Z       ],
2026-06-04T02:39:09.9959282Z       "stages": {
2026-06-04T02:39:09.9959438Z         "doc": {
2026-06-04T02:39:09.9959621Z           "complete": true,
2026-06-04T02:39:09.9959791Z           "evidence": [
2026-06-04T02:39:09.9959939Z             {
2026-06-04T02:39:09.9960164Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T02:39:09.9960332Z               "line": 131
2026-06-04T02:39:09.9960491Z             }
2026-06-04T02:39:09.9960637Z           ]
2026-06-04T02:39:09.9960792Z         },
2026-06-04T02:39:09.9961273Z         "impl": {
2026-06-04T02:39:09.9961460Z           "complete": true,
2026-06-04T02:39:09.9961630Z           "evidence": [
2026-06-04T02:39:09.9961920Z             {
2026-06-04T02:39:09.9962161Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T02:39:09.9962328Z               "line": 50
2026-06-04T02:39:09.9962484Z             },
2026-06-04T02:39:09.9962636Z             {
2026-06-04T02:39:09.9962858Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T02:39:09.9963033Z               "line": 17
2026-06-04T02:39:09.9963182Z             },
2026-06-04T02:39:09.9963336Z             {
2026-06-04T02:39:09.9963563Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:09.9963737Z               "line": 171
2026-06-04T02:39:09.9963897Z             },
2026-06-04T02:39:09.9964044Z             {
2026-06-04T02:39:09.9964279Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:09.9964450Z               "line": 259
2026-06-04T02:39:09.9964627Z             },
2026-06-04T02:39:09.9964775Z             {
2026-06-04T02:39:09.9965012Z               "path": "crates/spt/src/api/worker.rs",
2026-06-04T02:39:09.9965195Z               "line": 32
2026-06-04T02:39:09.9965348Z             }
2026-06-04T02:39:09.9965504Z           ]
2026-06-04T02:39:09.9965649Z         },
2026-06-04T02:39:09.9965815Z         "int": {
2026-06-04T02:39:09.9965991Z           "complete": false,
2026-06-04T02:39:09.9966172Z           "evidence": []
2026-06-04T02:39:09.9966324Z         },
2026-06-04T02:39:09.9966477Z         "unit": {
2026-06-04T02:39:09.9966657Z           "complete": true,
2026-06-04T02:39:09.9966817Z           "evidence": [
2026-06-04T02:39:09.9966967Z             {
2026-06-04T02:39:09.9967187Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T02:39:09.9967361Z               "line": 94
2026-06-04T02:39:09.9967520Z             },
2026-06-04T02:39:09.9967667Z             {
2026-06-04T02:39:09.9967895Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T02:39:09.9968079Z               "line": 111
2026-06-04T02:39:09.9968240Z             },
2026-06-04T02:39:09.9968387Z             {
2026-06-04T02:39:09.9968625Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T02:39:09.9968803Z               "line": 124
2026-06-04T02:39:09.9968951Z             },
2026-06-04T02:39:09.9969103Z             {
2026-06-04T02:39:09.9969377Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T02:39:09.9969556Z               "line": 134
2026-06-04T02:39:09.9969711Z             },
2026-06-04T02:39:09.9969855Z             {
2026-06-04T02:39:09.9970078Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T02:39:09.9970244Z               "line": 142
2026-06-04T02:39:09.9970402Z             },
2026-06-04T02:39:09.9970549Z             {
2026-06-04T02:39:09.9970776Z               "path": "crates/spt-proto/src/id.rs",
2026-06-04T02:39:09.9970950Z               "line": 154
2026-06-04T02:39:09.9971100Z             }
2026-06-04T02:39:09.9971268Z           ]
2026-06-04T02:39:09.9971411Z         }
2026-06-04T02:39:09.9971570Z       }
2026-06-04T02:39:09.9971709Z     },
2026-06-04T02:39:09.9971860Z     {
2026-06-04T02:39:09.9972076Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-04T02:39:09.9972357Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-04T02:39:09.9972545Z       "requiredStages": [
2026-06-04T02:39:09.9972699Z         "impl",
2026-06-04T02:39:09.9972860Z         "unit"
2026-06-04T02:39:09.9973004Z       ],
2026-06-04T02:39:09.9973163Z       "stages": {
2026-06-04T02:39:09.9973316Z         "doc": {
2026-06-04T02:39:09.9973500Z           "complete": false,
2026-06-04T02:39:09.9973670Z           "evidence": []
2026-06-04T02:39:09.9973820Z         },
2026-06-04T02:39:09.9973982Z         "impl": {
2026-06-04T02:39:09.9974159Z           "complete": true,
2026-06-04T02:39:09.9974324Z           "evidence": [
2026-06-04T02:39:09.9974473Z             {
2026-06-04T02:39:09.9974719Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T02:39:09.9975054Z               "line": 128
2026-06-04T02:39:09.9975203Z             }
2026-06-04T02:39:09.9975356Z           ]
2026-06-04T02:39:09.9975651Z         },
2026-06-04T02:39:09.9975817Z         "int": {
2026-06-04T02:39:09.9975993Z           "complete": false,
2026-06-04T02:39:09.9976169Z           "evidence": []
2026-06-04T02:39:09.9976323Z         },
2026-06-04T02:39:09.9976473Z         "unit": {
2026-06-04T02:39:09.9976656Z           "complete": true,
2026-06-04T02:39:09.9976823Z           "evidence": [
2026-06-04T02:39:09.9976976Z             {
2026-06-04T02:39:09.9977205Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T02:39:09.9977385Z               "line": 205
2026-06-04T02:39:09.9977546Z             }
2026-06-04T02:39:09.9977694Z           ]
2026-06-04T02:39:09.9977847Z         }
2026-06-04T02:39:09.9977996Z       }
2026-06-04T02:39:09.9978148Z     },
2026-06-04T02:39:09.9978293Z     {
2026-06-04T02:39:09.9978522Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-04T02:39:09.9978849Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-04T02:39:09.9979029Z       "requiredStages": [
2026-06-04T02:39:09.9979252Z         "impl",
2026-06-04T02:39:09.9979412Z         "unit"
2026-06-04T02:39:09.9979568Z       ],
2026-06-04T02:39:09.9979731Z       "stages": {
2026-06-04T02:39:09.9979902Z         "doc": {
2026-06-04T02:39:09.9980086Z           "complete": false,
2026-06-04T02:39:09.9980252Z           "evidence": []
2026-06-04T02:39:09.9980408Z         },
2026-06-04T02:39:09.9980560Z         "impl": {
2026-06-04T02:39:09.9980741Z           "complete": true,
2026-06-04T02:39:09.9980906Z           "evidence": [
2026-06-04T02:39:09.9981062Z             {
2026-06-04T02:39:09.9981293Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T02:39:09.9981461Z               "line": 120
2026-06-04T02:39:09.9981618Z             },
2026-06-04T02:39:09.9981765Z             {
2026-06-04T02:39:09.9981996Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T02:39:09.9982186Z               "line": 131
2026-06-04T02:39:09.9982336Z             },
2026-06-04T02:39:09.9982488Z             {
2026-06-04T02:39:09.9982730Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T02:39:09.9982912Z               "line": 149
2026-06-04T02:39:09.9983058Z             }
2026-06-04T02:39:09.9983218Z           ]
2026-06-04T02:39:09.9983372Z         },
2026-06-04T02:39:09.9983523Z         "int": {
2026-06-04T02:39:09.9983709Z           "complete": false,
2026-06-04T02:39:09.9983879Z           "evidence": []
2026-06-04T02:39:09.9984035Z         },
2026-06-04T02:39:09.9984191Z         "unit": {
2026-06-04T02:39:09.9984371Z           "complete": true,
2026-06-04T02:39:09.9984531Z           "evidence": [
2026-06-04T02:39:09.9984682Z             {
2026-06-04T02:39:09.9984914Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T02:39:09.9985083Z               "line": 173
2026-06-04T02:39:09.9985236Z             },
2026-06-04T02:39:09.9985404Z             {
2026-06-04T02:39:09.9985638Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T02:39:09.9985807Z               "line": 191
2026-06-04T02:39:09.9985963Z             },
2026-06-04T02:39:09.9986116Z             {
2026-06-04T02:39:09.9986341Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T02:39:09.9986519Z               "line": 253
2026-06-04T02:39:09.9986675Z             },
2026-06-04T02:39:09.9986831Z             {
2026-06-04T02:39:09.9987061Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T02:39:09.9987225Z               "line": 264
2026-06-04T02:39:09.9992458Z             },
2026-06-04T02:39:09.9992727Z             {
2026-06-04T02:39:09.9992982Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T02:39:09.9993150Z               "line": 277
2026-06-04T02:39:09.9993305Z             }
2026-06-04T02:39:09.9993463Z           ]
2026-06-04T02:39:09.9993606Z         }
2026-06-04T02:39:09.9993758Z       }
2026-06-04T02:39:09.9993900Z     },
2026-06-04T02:39:09.9994323Z     {
2026-06-04T02:39:09.9994534Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-04T02:39:09.9995034Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-04T02:39:09.9995372Z       "requiredStages": [
2026-06-04T02:39:09.9995530Z         "impl",
2026-06-04T02:39:09.9995691Z         "unit"
2026-06-04T02:39:09.9995834Z       ],
2026-06-04T02:39:09.9995997Z       "stages": {
2026-06-04T02:39:09.9996151Z         "doc": {
2026-06-04T02:39:09.9996337Z           "complete": false,
2026-06-04T02:39:09.9996513Z           "evidence": []
2026-06-04T02:39:09.9996660Z         },
2026-06-04T02:39:09.9996825Z         "impl": {
2026-06-04T02:39:09.9996998Z           "complete": true,
2026-06-04T02:39:09.9997170Z           "evidence": [
2026-06-04T02:39:09.9997320Z             {
2026-06-04T02:39:09.9997550Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T02:39:09.9997722Z               "line": 14
2026-06-04T02:39:09.9997871Z             },
2026-06-04T02:39:09.9998049Z             {
2026-06-04T02:39:09.9998269Z               "path": "crates/spt/src/api/mod.rs",
2026-06-04T02:39:09.9998459Z               "line": 298
2026-06-04T02:39:09.9998611Z             }
2026-06-04T02:39:09.9998767Z           ]
2026-06-04T02:39:09.9998921Z         },
2026-06-04T02:39:09.9999074Z         "int": {
2026-06-04T02:39:09.9999318Z           "complete": false,
2026-06-04T02:39:09.9999497Z           "evidence": []
2026-06-04T02:39:09.9999652Z         },
2026-06-04T02:39:09.9999802Z         "unit": {
2026-06-04T02:39:09.9999985Z           "complete": true,
2026-06-04T02:39:10.0000161Z           "evidence": [
2026-06-04T02:39:10.0000310Z             {
2026-06-04T02:39:10.0000542Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T02:39:10.0000707Z               "line": 130
2026-06-04T02:39:10.0000863Z             },
2026-06-04T02:39:10.0001016Z             {
2026-06-04T02:39:10.0001249Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T02:39:10.0001436Z               "line": 138
2026-06-04T02:39:10.0001583Z             },
2026-06-04T02:39:10.0001738Z             {
2026-06-04T02:39:10.0001965Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T02:39:10.0002139Z               "line": 146
2026-06-04T02:39:10.0002289Z             },
2026-06-04T02:39:10.0002442Z             {
2026-06-04T02:39:10.0002665Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T02:39:10.0002839Z               "line": 154
2026-06-04T02:39:10.0002996Z             },
2026-06-04T02:39:10.0003145Z             {
2026-06-04T02:39:10.0003372Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T02:39:10.0003537Z               "line": 162
2026-06-04T02:39:10.0003694Z             },
2026-06-04T02:39:10.0003850Z             {
2026-06-04T02:39:10.0004065Z               "path": "crates/spt/src/api/auth.rs",
2026-06-04T02:39:10.0004240Z               "line": 170
2026-06-04T02:39:10.0004389Z             }
2026-06-04T02:39:10.0004542Z           ]
2026-06-04T02:39:10.0004702Z         }
2026-06-04T02:39:10.0004855Z       }
2026-06-04T02:39:10.0005003Z     },
2026-06-04T02:39:10.0005144Z     {
2026-06-04T02:39:10.0005380Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-04T02:39:10.0007463Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-04T02:39:10.0007677Z       "requiredStages": [
2026-06-04T02:39:10.0007841Z         "impl",
2026-06-04T02:39:10.0007990Z         "unit"
2026-06-04T02:39:10.0008142Z       ],
2026-06-04T02:39:10.0008298Z       "stages": {
2026-06-04T02:39:10.0008460Z         "doc": {
2026-06-04T02:39:10.0008645Z           "complete": false,
2026-06-04T02:39:10.0008822Z           "evidence": []
2026-06-04T02:39:10.0008974Z         },
2026-06-04T02:39:10.0009131Z         "impl": {
2026-06-04T02:39:10.0009566Z           "complete": true,
2026-06-04T02:39:10.0009736Z           "evidence": [
2026-06-04T02:39:10.0009893Z             {
2026-06-04T02:39:10.0010322Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T02:39:10.0010500Z               "line": 34
2026-06-04T02:39:10.0010659Z             }
2026-06-04T02:39:10.0010806Z           ]
2026-06-04T02:39:10.0010955Z         },
2026-06-04T02:39:10.0011107Z         "int": {
2026-06-04T02:39:10.0011292Z           "complete": false,
2026-06-04T02:39:10.0011461Z           "evidence": []
2026-06-04T02:39:10.0011617Z         },
2026-06-04T02:39:10.0011786Z         "unit": {
2026-06-04T02:39:10.0011964Z           "complete": true,
2026-06-04T02:39:10.0012139Z           "evidence": [
2026-06-04T02:39:10.0012288Z             {
2026-06-04T02:39:10.0012582Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T02:39:10.0012754Z               "line": 188
2026-06-04T02:39:10.0012909Z             },
2026-06-04T02:39:10.0013082Z             {
2026-06-04T02:39:10.0013368Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T02:39:10.0013559Z               "line": 200
2026-06-04T02:39:10.0013709Z             },
2026-06-04T02:39:10.0013868Z             {
2026-06-04T02:39:10.0014148Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T02:39:10.0014331Z               "line": 211
2026-06-04T02:39:10.0014487Z             },
2026-06-04T02:39:10.0014632Z             {
2026-06-04T02:39:10.0014919Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T02:39:10.0015094Z               "line": 245
2026-06-04T02:39:10.0015252Z             },
2026-06-04T02:39:10.0015400Z             {
2026-06-04T02:39:10.0015684Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T02:39:10.0015861Z               "line": 267
2026-06-04T02:39:10.0016011Z             },
2026-06-04T02:39:10.0016169Z             {
2026-06-04T02:39:10.0016467Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T02:39:10.0016644Z               "line": 288
2026-06-04T02:39:10.0016797Z             },
2026-06-04T02:39:10.0016964Z             {
2026-06-04T02:39:10.0017257Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-04T02:39:10.0017427Z               "line": 304
2026-06-04T02:39:10.0017586Z             }
2026-06-04T02:39:10.0017732Z           ]
2026-06-04T02:39:10.0017885Z         }
2026-06-04T02:39:10.0018030Z       }
2026-06-04T02:39:10.0018188Z     },
2026-06-04T02:39:10.0018339Z     {
2026-06-04T02:39:10.0018556Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-04T02:39:10.0019721Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-04T02:39:10.0019913Z       "requiredStages": [
2026-06-04T02:39:10.0020085Z         "impl",
2026-06-04T02:39:10.0020255Z         "unit"
2026-06-04T02:39:10.0020404Z       ],
2026-06-04T02:39:10.0020578Z       "stages": {
2026-06-04T02:39:10.0020728Z         "doc": {
2026-06-04T02:39:10.0020926Z           "complete": false,
2026-06-04T02:39:10.0021121Z           "evidence": []
2026-06-04T02:39:10.0021338Z         },
2026-06-04T02:39:10.0021551Z         "impl": {
2026-06-04T02:39:10.0021740Z           "complete": true,
2026-06-04T02:39:10.0021917Z           "evidence": [
2026-06-04T02:39:10.0022068Z             {
2026-06-04T02:39:10.0022323Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0022491Z               "line": 29
2026-06-04T02:39:10.0022647Z             },
2026-06-04T02:39:10.0022801Z             {
2026-06-04T02:39:10.0023037Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0023211Z               "line": 154
2026-06-04T02:39:10.0023361Z             },
2026-06-04T02:39:10.0023514Z             {
2026-06-04T02:39:10.0023748Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0024155Z               "line": 173
2026-06-04T02:39:10.0024314Z             },
2026-06-04T02:39:10.0024607Z             {
2026-06-04T02:39:10.0024855Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0025026Z               "line": 200
2026-06-04T02:39:10.0025184Z             }
2026-06-04T02:39:10.0025329Z           ]
2026-06-04T02:39:10.0025489Z         },
2026-06-04T02:39:10.0031090Z         "int": {
2026-06-04T02:39:10.0031426Z           "complete": false,
2026-06-04T02:39:10.0031619Z           "evidence": []
2026-06-04T02:39:10.0031932Z         },
2026-06-04T02:39:10.0032123Z         "unit": {
2026-06-04T02:39:10.0032349Z           "complete": true,
2026-06-04T02:39:10.0032541Z           "evidence": [
2026-06-04T02:39:10.0032704Z             {
2026-06-04T02:39:10.0032965Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0033156Z               "line": 276
2026-06-04T02:39:10.0033309Z             },
2026-06-04T02:39:10.0033519Z             {
2026-06-04T02:39:10.0033762Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0033950Z               "line": 291
2026-06-04T02:39:10.0034134Z             },
2026-06-04T02:39:10.0034291Z             {
2026-06-04T02:39:10.0034545Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0034721Z               "line": 310
2026-06-04T02:39:10.0034882Z             },
2026-06-04T02:39:10.0035037Z             {
2026-06-04T02:39:10.0035288Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0035472Z               "line": 326
2026-06-04T02:39:10.0035625Z             },
2026-06-04T02:39:10.0035786Z             {
2026-06-04T02:39:10.0036025Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0036206Z               "line": 376
2026-06-04T02:39:10.0036363Z             },
2026-06-04T02:39:10.0036523Z             {
2026-06-04T02:39:10.0036766Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0036953Z               "line": 390
2026-06-04T02:39:10.0037123Z             },
2026-06-04T02:39:10.0037278Z             {
2026-06-04T02:39:10.0037538Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0037729Z               "line": 401
2026-06-04T02:39:10.0037882Z             },
2026-06-04T02:39:10.0038048Z             {
2026-06-04T02:39:10.0038289Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0038475Z               "line": 412
2026-06-04T02:39:10.0038624Z             }
2026-06-04T02:39:10.0038787Z           ]
2026-06-04T02:39:10.0038953Z         }
2026-06-04T02:39:10.0039104Z       }
2026-06-04T02:39:10.0039329Z     },
2026-06-04T02:39:10.0039488Z     {
2026-06-04T02:39:10.0039874Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-04T02:39:10.0041395Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-04T02:39:10.0041627Z       "requiredStages": [
2026-06-04T02:39:10.0041788Z         "impl",
2026-06-04T02:39:10.0041953Z         "unit"
2026-06-04T02:39:10.0042107Z       ],
2026-06-04T02:39:10.0042266Z       "stages": {
2026-06-04T02:39:10.0042428Z         "doc": {
2026-06-04T02:39:10.0042609Z           "complete": false,
2026-06-04T02:39:10.0042790Z           "evidence": []
2026-06-04T02:39:10.0042953Z         },
2026-06-04T02:39:10.0043110Z         "impl": {
2026-06-04T02:39:10.0043295Z           "complete": true,
2026-06-04T02:39:10.0043462Z           "evidence": [
2026-06-04T02:39:10.0043619Z             {
2026-06-04T02:39:10.0043895Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0044074Z               "line": 27
2026-06-04T02:39:10.0044241Z             },
2026-06-04T02:39:10.0044389Z             {
2026-06-04T02:39:10.0044667Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0045182Z               "line": 110
2026-06-04T02:39:10.0045347Z             },
2026-06-04T02:39:10.0045499Z             {
2026-06-04T02:39:10.0045778Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0046104Z               "line": 153
2026-06-04T02:39:10.0046261Z             },
2026-06-04T02:39:10.0046421Z             {
2026-06-04T02:39:10.0046687Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0046866Z               "line": 182
2026-06-04T02:39:10.0047019Z             },
2026-06-04T02:39:10.0047176Z             {
2026-06-04T02:39:10.0047476Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T02:39:10.0047642Z               "line": 31
2026-06-04T02:39:10.0047797Z             },
2026-06-04T02:39:10.0047953Z             {
2026-06-04T02:39:10.0048255Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T02:39:10.0048436Z               "line": 113
2026-06-04T02:39:10.0048599Z             },
2026-06-04T02:39:10.0048753Z             {
2026-06-04T02:39:10.0049044Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T02:39:10.0049295Z               "line": 138
2026-06-04T02:39:10.0049624Z             }
2026-06-04T02:39:10.0049800Z           ]
2026-06-04T02:39:10.0050126Z         },
2026-06-04T02:39:10.0050286Z         "int": {
2026-06-04T02:39:10.0050476Z           "complete": false,
2026-06-04T02:39:10.0050644Z           "evidence": []
2026-06-04T02:39:10.0050804Z         },
2026-06-04T02:39:10.0050960Z         "unit": {
2026-06-04T02:39:10.0051148Z           "complete": true,
2026-06-04T02:39:10.0051326Z           "evidence": [
2026-06-04T02:39:10.0051480Z             {
2026-06-04T02:39:10.0051759Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0051926Z               "line": 261
2026-06-04T02:39:10.0052088Z             },
2026-06-04T02:39:10.0052234Z             {
2026-06-04T02:39:10.0052510Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0052705Z               "line": 276
2026-06-04T02:39:10.0052860Z             },
2026-06-04T02:39:10.0053032Z             {
2026-06-04T02:39:10.0053296Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0053484Z               "line": 293
2026-06-04T02:39:10.0053635Z             },
2026-06-04T02:39:10.0053799Z             {
2026-06-04T02:39:10.0054073Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0054248Z               "line": 310
2026-06-04T02:39:10.0054405Z             },
2026-06-04T02:39:10.0054558Z             {
2026-06-04T02:39:10.0054832Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0055005Z               "line": 327
2026-06-04T02:39:10.0055168Z             },
2026-06-04T02:39:10.0055331Z             {
2026-06-04T02:39:10.0055600Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0055781Z               "line": 366
2026-06-04T02:39:10.0055947Z             },
2026-06-04T02:39:10.0056106Z             {
2026-06-04T02:39:10.0056401Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T02:39:10.0056597Z               "line": 179
2026-06-04T02:39:10.0056763Z             },
2026-06-04T02:39:10.0056915Z             {
2026-06-04T02:39:10.0057219Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T02:39:10.0057386Z               "line": 194
2026-06-04T02:39:10.0057543Z             },
2026-06-04T02:39:10.0057711Z             {
2026-06-04T02:39:10.0058005Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T02:39:10.0058186Z               "line": 204
2026-06-04T02:39:10.0058340Z             },
2026-06-04T02:39:10.0058495Z             {
2026-06-04T02:39:10.0058784Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T02:39:10.0058969Z               "line": 259
2026-06-04T02:39:10.0059126Z             },
2026-06-04T02:39:10.0059682Z             {
2026-06-04T02:39:10.0060008Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T02:39:10.0060335Z               "line": 269
2026-06-04T02:39:10.0060514Z             },
2026-06-04T02:39:10.0060670Z             {
2026-06-04T02:39:10.0060980Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T02:39:10.0061166Z               "line": 283
2026-06-04T02:39:10.0061325Z             }
2026-06-04T02:39:10.0061486Z           ]
2026-06-04T02:39:10.0061640Z         }
2026-06-04T02:39:10.0061800Z       }
2026-06-04T02:39:10.0061945Z     },
2026-06-04T02:39:10.0062099Z     {
2026-06-04T02:39:10.0062331Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-04T02:39:10.0062759Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-04T02:39:10.0063113Z       "requiredStages": [],
2026-06-04T02:39:10.0063275Z       "stages": {
2026-06-04T02:39:10.0063438Z         "doc": {
2026-06-04T02:39:10.0063636Z           "complete": false,
2026-06-04T02:39:10.0063813Z           "evidence": []
2026-06-04T02:39:10.0063967Z         },
2026-06-04T02:39:10.0064138Z         "impl": {
2026-06-04T02:39:10.0064328Z           "complete": false,
2026-06-04T02:39:10.0064498Z           "evidence": []
2026-06-04T02:39:10.0064652Z         },
2026-06-04T02:39:10.0064801Z         "int": {
2026-06-04T02:39:10.0064985Z           "complete": false,
2026-06-04T02:39:10.0070699Z           "evidence": []
2026-06-04T02:39:10.0070985Z         },
2026-06-04T02:39:10.0071179Z         "unit": {
2026-06-04T02:39:10.0071387Z           "complete": false,
2026-06-04T02:39:10.0071576Z           "evidence": []
2026-06-04T02:39:10.0071725Z         }
2026-06-04T02:39:10.0071878Z       }
2026-06-04T02:39:10.0072029Z     },
2026-06-04T02:39:10.0072172Z     {
2026-06-04T02:39:10.0072472Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-04T02:39:10.0080649Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-04T02:39:10.0081078Z       "requiredStages": [],
2026-06-04T02:39:10.0081264Z       "stages": {
2026-06-04T02:39:10.0081425Z         "doc": {
2026-06-04T02:39:10.0081621Z           "complete": false,
2026-06-04T02:39:10.0081793Z           "evidence": []
2026-06-04T02:39:10.0081955Z         },
2026-06-04T02:39:10.0082115Z         "impl": {
2026-06-04T02:39:10.0082304Z           "complete": false,
2026-06-04T02:39:10.0082487Z           "evidence": []
2026-06-04T02:39:10.0082643Z         },
2026-06-04T02:39:10.0082809Z         "int": {
2026-06-04T02:39:10.0082989Z           "complete": false,
2026-06-04T02:39:10.0083167Z           "evidence": []
2026-06-04T02:39:10.0083319Z         },
2026-06-04T02:39:10.0083483Z         "unit": {
2026-06-04T02:39:10.0083676Z           "complete": false,
2026-06-04T02:39:10.0083845Z           "evidence": []
2026-06-04T02:39:10.0084027Z         }
2026-06-04T02:39:10.0084179Z       }
2026-06-04T02:39:10.0084339Z     },
2026-06-04T02:39:10.0084485Z     {
2026-06-04T02:39:10.0084746Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-04T02:39:10.0085285Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-04T02:39:10.0085471Z       "requiredStages": [
2026-06-04T02:39:10.0085640Z         "impl",
2026-06-04T02:39:10.0085797Z         "unit"
2026-06-04T02:39:10.0085957Z       ],
2026-06-04T02:39:10.0086115Z       "stages": {
2026-06-04T02:39:10.0086284Z         "doc": {
2026-06-04T02:39:10.0086471Z           "complete": true,
2026-06-04T02:39:10.0086637Z           "evidence": [
2026-06-04T02:39:10.0086795Z             {
2026-06-04T02:39:10.0087012Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T02:39:10.0087195Z               "line": 137
2026-06-04T02:39:10.0087344Z             }
2026-06-04T02:39:10.0087502Z           ]
2026-06-04T02:39:10.0088093Z         },
2026-06-04T02:39:10.0088260Z         "impl": {
2026-06-04T02:39:10.0088447Z           "complete": true,
2026-06-04T02:39:10.0088818Z           "evidence": [
2026-06-04T02:39:10.0088979Z             {
2026-06-04T02:39:10.0089256Z               "path": "crates/spt-store/src/db.rs",
2026-06-04T02:39:10.0089437Z               "line": 29
2026-06-04T02:39:10.0089601Z             },
2026-06-04T02:39:10.0089754Z             {
2026-06-04T02:39:10.0090011Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:10.0090180Z               "line": 30
2026-06-04T02:39:10.0090341Z             },
2026-06-04T02:39:10.0090489Z             {
2026-06-04T02:39:10.0090731Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:10.0090912Z               "line": 48
2026-06-04T02:39:10.0091062Z             }
2026-06-04T02:39:10.0091217Z           ]
2026-06-04T02:39:10.0091366Z         },
2026-06-04T02:39:10.0091528Z         "int": {
2026-06-04T02:39:10.0091711Z           "complete": false,
2026-06-04T02:39:10.0091907Z           "evidence": []
2026-06-04T02:39:10.0092066Z         },
2026-06-04T02:39:10.0092222Z         "unit": {
2026-06-04T02:39:10.0092419Z           "complete": true,
2026-06-04T02:39:10.0092586Z           "evidence": [
2026-06-04T02:39:10.0092748Z             {
2026-06-04T02:39:10.0092992Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:10.0093171Z               "line": 152
2026-06-04T02:39:10.0093328Z             }
2026-06-04T02:39:10.0093478Z           ]
2026-06-04T02:39:10.0093636Z         }
2026-06-04T02:39:10.0093781Z       }
2026-06-04T02:39:10.0093937Z     },
2026-06-04T02:39:10.0094080Z     {
2026-06-04T02:39:10.0094315Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-04T02:39:10.0095132Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-04T02:39:10.0095323Z       "requiredStages": [
2026-06-04T02:39:10.0095483Z         "doc",
2026-06-04T02:39:10.0095654Z         "impl",
2026-06-04T02:39:10.0095813Z         "unit"
2026-06-04T02:39:10.0095961Z       ],
2026-06-04T02:39:10.0096134Z       "stages": {
2026-06-04T02:39:10.0096308Z         "doc": {
2026-06-04T02:39:10.0096490Z           "complete": true,
2026-06-04T02:39:10.0096669Z           "evidence": [
2026-06-04T02:39:10.0096819Z             {
2026-06-04T02:39:10.0097045Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T02:39:10.0097214Z               "line": 149
2026-06-04T02:39:10.0097379Z             }
2026-06-04T02:39:10.0097539Z           ]
2026-06-04T02:39:10.0097691Z         },
2026-06-04T02:39:10.0097857Z         "impl": {
2026-06-04T02:39:10.0098038Z           "complete": true,
2026-06-04T02:39:10.0098215Z           "evidence": [
2026-06-04T02:39:10.0098363Z             {
2026-06-04T02:39:10.0098622Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:10.0098797Z               "line": 22
2026-06-04T02:39:10.0098945Z             }
2026-06-04T02:39:10.0099118Z           ]
2026-06-04T02:39:10.0099313Z         },
2026-06-04T02:39:10.0099482Z         "int": {
2026-06-04T02:39:10.0099663Z           "complete": false,
2026-06-04T02:39:10.0099856Z           "evidence": []
2026-06-04T02:39:10.0100015Z         },
2026-06-04T02:39:10.0100179Z         "unit": {
2026-06-04T02:39:10.0100365Z           "complete": true,
2026-06-04T02:39:10.0100529Z           "evidence": [
2026-06-04T02:39:10.0100687Z             {
2026-06-04T02:39:10.0100936Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:10.0101119Z               "line": 257
2026-06-04T02:39:10.0101277Z             }
2026-06-04T02:39:10.0101428Z           ]
2026-06-04T02:39:10.0101588Z         }
2026-06-04T02:39:10.0101739Z       }
2026-06-04T02:39:10.0101894Z     },
2026-06-04T02:39:10.0102038Z     {
2026-06-04T02:39:10.0102281Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-04T02:39:10.0103206Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-04T02:39:10.0103580Z       "requiredStages": [
2026-06-04T02:39:10.0103747Z         "impl",
2026-06-04T02:39:10.0104045Z         "unit"
2026-06-04T02:39:10.0104207Z       ],
2026-06-04T02:39:10.0104374Z       "stages": {
2026-06-04T02:39:10.0104527Z         "doc": {
2026-06-04T02:39:10.0104716Z           "complete": true,
2026-06-04T02:39:10.0104887Z           "evidence": [
2026-06-04T02:39:10.0105044Z             {
2026-06-04T02:39:10.0105259Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T02:39:10.0105437Z               "line": 143
2026-06-04T02:39:10.0105596Z             }
2026-06-04T02:39:10.0105745Z           ]
2026-06-04T02:39:10.0105904Z         },
2026-06-04T02:39:10.0106061Z         "impl": {
2026-06-04T02:39:10.0106247Z           "complete": true,
2026-06-04T02:39:10.0106413Z           "evidence": [
2026-06-04T02:39:10.0106575Z             {
2026-06-04T02:39:10.0106826Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0107025Z               "line": 117
2026-06-04T02:39:10.0107190Z             },
2026-06-04T02:39:10.0107335Z             {
2026-06-04T02:39:10.0107582Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T02:39:10.0107749Z               "line": 15
2026-06-04T02:39:10.0107910Z             }
2026-06-04T02:39:10.0108066Z           ]
2026-06-04T02:39:10.0108219Z         },
2026-06-04T02:39:10.0108382Z         "int": {
2026-06-04T02:39:10.0108564Z           "complete": false,
2026-06-04T02:39:10.0108737Z           "evidence": []
2026-06-04T02:39:10.0108883Z         },
2026-06-04T02:39:10.0109046Z         "unit": {
2026-06-04T02:39:10.0109283Z           "complete": true,
2026-06-04T02:39:10.0109458Z           "evidence": [
2026-06-04T02:39:10.0109621Z             {
2026-06-04T02:39:10.0109881Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T02:39:10.0110060Z               "line": 87
2026-06-04T02:39:10.0116402Z             },
2026-06-04T02:39:10.0116729Z             {
2026-06-04T02:39:10.0117015Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0117190Z               "line": 508
2026-06-04T02:39:10.0117364Z             },
2026-06-04T02:39:10.0117513Z             {
2026-06-04T02:39:10.0117768Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0117941Z               "line": 527
2026-06-04T02:39:10.0118101Z             },
2026-06-04T02:39:10.0118258Z             {
2026-06-04T02:39:10.0118514Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T02:39:10.0118689Z               "line": 148
2026-06-04T02:39:10.0118843Z             },
2026-06-04T02:39:10.0119003Z             {
2026-06-04T02:39:10.0119324Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T02:39:10.0119504Z               "line": 74
2026-06-04T02:39:10.0119665Z             },
2026-06-04T02:39:10.0119811Z             {
2026-06-04T02:39:10.0120051Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T02:39:10.0120231Z               "line": 88
2026-06-04T02:39:10.0120392Z             },
2026-06-04T02:39:10.0120540Z             {
2026-06-04T02:39:10.0120794Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-04T02:39:10.0120972Z               "line": 104
2026-06-04T02:39:10.0121125Z             }
2026-06-04T02:39:10.0121278Z           ]
2026-06-04T02:39:10.0121425Z         }
2026-06-04T02:39:10.0121579Z       }
2026-06-04T02:39:10.0121723Z     },
2026-06-04T02:39:10.0121879Z     {
2026-06-04T02:39:10.0122119Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-04T02:39:10.0122516Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-04T02:39:10.0122707Z       "requiredStages": [
2026-06-04T02:39:10.0122864Z         "impl",
2026-06-04T02:39:10.0123026Z         "unit"
2026-06-04T02:39:10.0123173Z       ],
2026-06-04T02:39:10.0123343Z       "stages": {
2026-06-04T02:39:10.0123504Z         "doc": {
2026-06-04T02:39:10.0123686Z           "complete": false,
2026-06-04T02:39:10.0124144Z           "evidence": []
2026-06-04T02:39:10.0124293Z         },
2026-06-04T02:39:10.0124457Z         "impl": {
2026-06-04T02:39:10.0124781Z           "complete": true,
2026-06-04T02:39:10.0124962Z           "evidence": [
2026-06-04T02:39:10.0125120Z             {
2026-06-04T02:39:10.0125353Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T02:39:10.0125528Z               "line": 15
2026-06-04T02:39:10.0125678Z             },
2026-06-04T02:39:10.0125832Z             {
2026-06-04T02:39:10.0126078Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:10.0126257Z               "line": 55
2026-06-04T02:39:10.0126414Z             },
2026-06-04T02:39:10.0126562Z             {
2026-06-04T02:39:10.0126816Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:10.0126984Z               "line": 62
2026-06-04T02:39:10.0127147Z             },
2026-06-04T02:39:10.0127304Z             {
2026-06-04T02:39:10.0127554Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:10.0127749Z               "line": 107
2026-06-04T02:39:10.0127901Z             },
2026-06-04T02:39:10.0128068Z             {
2026-06-04T02:39:10.0128310Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:10.0128492Z               "line": 128
2026-06-04T02:39:10.0128640Z             }
2026-06-04T02:39:10.0128796Z           ]
2026-06-04T02:39:10.0128952Z         },
2026-06-04T02:39:10.0129103Z         "int": {
2026-06-04T02:39:10.0129339Z           "complete": false,
2026-06-04T02:39:10.0129509Z           "evidence": []
2026-06-04T02:39:10.0129669Z         },
2026-06-04T02:39:10.0129831Z         "unit": {
2026-06-04T02:39:10.0130018Z           "complete": true,
2026-06-04T02:39:10.0130194Z           "evidence": [
2026-06-04T02:39:10.0130346Z             {
2026-06-04T02:39:10.0130585Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T02:39:10.0130757Z               "line": 113
2026-06-04T02:39:10.0130928Z             },
2026-06-04T02:39:10.0131077Z             {
2026-06-04T02:39:10.0131317Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T02:39:10.0131508Z               "line": 119
2026-06-04T02:39:10.0131661Z             },
2026-06-04T02:39:10.0131817Z             {
2026-06-04T02:39:10.0132042Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T02:39:10.0132220Z               "line": 130
2026-06-04T02:39:10.0132380Z             },
2026-06-04T02:39:10.0132527Z             {
2026-06-04T02:39:10.0132777Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:10.0132946Z               "line": 183
2026-06-04T02:39:10.0133110Z             },
2026-06-04T02:39:10.0133259Z             {
2026-06-04T02:39:10.0133507Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:10.0133688Z               "line": 193
2026-06-04T02:39:10.0133838Z             },
2026-06-04T02:39:10.0133993Z             {
2026-06-04T02:39:10.0134234Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:10.0134421Z               "line": 237
2026-06-04T02:39:10.0134575Z             },
2026-06-04T02:39:10.0134867Z             {
2026-06-04T02:39:10.0135121Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:10.0135291Z               "line": 249
2026-06-04T02:39:10.0135450Z             },
2026-06-04T02:39:10.0135600Z             {
2026-06-04T02:39:10.0135850Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:10.0136024Z               "line": 275
2026-06-04T02:39:10.0136179Z             }
2026-06-04T02:39:10.0136342Z           ]
2026-06-04T02:39:10.0136502Z         }
2026-06-04T02:39:10.0136663Z       }
2026-06-04T02:39:10.0136809Z     },
2026-06-04T02:39:10.0136963Z     {
2026-06-04T02:39:10.0137187Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-04T02:39:10.0137750Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-04T02:39:10.0137948Z       "requiredStages": [
2026-06-04T02:39:10.0138271Z         "impl",
2026-06-04T02:39:10.0138433Z         "unit",
2026-06-04T02:39:10.0138589Z         "int"
2026-06-04T02:39:10.0138882Z       ],
2026-06-04T02:39:10.0139046Z       "stages": {
2026-06-04T02:39:10.0139254Z         "doc": {
2026-06-04T02:39:10.0139448Z           "complete": false,
2026-06-04T02:39:10.0139624Z           "evidence": []
2026-06-04T02:39:10.0139783Z         },
2026-06-04T02:39:10.0139943Z         "impl": {
2026-06-04T02:39:10.0140133Z           "complete": true,
2026-06-04T02:39:10.0140301Z           "evidence": [
2026-06-04T02:39:10.0140462Z             {
2026-06-04T02:39:10.0140715Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T02:39:10.0140889Z               "line": 236
2026-06-04T02:39:10.0141053Z             },
2026-06-04T02:39:10.0141208Z             {
2026-06-04T02:39:10.0141456Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T02:39:10.0141628Z               "line": 491
2026-06-04T02:39:10.0141807Z             },
2026-06-04T02:39:10.0141964Z             {
2026-06-04T02:39:10.0142196Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T02:39:10.0142383Z               "line": 514
2026-06-04T02:39:10.0142538Z             },
2026-06-04T02:39:10.0142699Z             {
2026-06-04T02:39:10.0142930Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T02:39:10.0143110Z               "line": 538
2026-06-04T02:39:10.0143270Z             },
2026-06-04T02:39:10.0143420Z             {
2026-06-04T02:39:10.0143669Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T02:39:10.0143840Z               "line": 438
2026-06-04T02:39:10.0144004Z             },
2026-06-04T02:39:10.0144157Z             {
2026-06-04T02:39:10.0144401Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T02:39:10.0144578Z               "line": 519
2026-06-04T02:39:10.0144730Z             },
2026-06-04T02:39:10.0144890Z             {
2026-06-04T02:39:10.0145128Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T02:39:10.0145324Z               "line": 563
2026-06-04T02:39:10.0145473Z             },
2026-06-04T02:39:10.0145636Z             {
2026-06-04T02:39:10.0145878Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-04T02:39:10.0146046Z               "line": 606
2026-06-04T02:39:10.0146207Z             },
2026-06-04T02:39:10.0146351Z             {
2026-06-04T02:39:10.0146603Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T02:39:10.0146777Z               "line": 46
2026-06-04T02:39:10.0146924Z             },
2026-06-04T02:39:10.0147079Z             {
2026-06-04T02:39:10.0152558Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T02:39:10.0152850Z               "line": 160
2026-06-04T02:39:10.0153007Z             },
2026-06-04T02:39:10.0153163Z             {
2026-06-04T02:39:10.0153406Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T02:39:10.0153570Z               "line": 63
2026-06-04T02:39:10.0153763Z             },
2026-06-04T02:39:10.0153914Z             {
2026-06-04T02:39:10.0154149Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:10.0154336Z               "line": 128
2026-06-04T02:39:10.0154495Z             },
2026-06-04T02:39:10.0154651Z             {
2026-06-04T02:39:10.0154881Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:10.0155062Z               "line": 174
2026-06-04T02:39:10.0155209Z             }
2026-06-04T02:39:10.0155366Z           ]
2026-06-04T02:39:10.0155513Z         },
2026-06-04T02:39:10.0155679Z         "int": {
2026-06-04T02:39:10.0155858Z           "complete": true,
2026-06-04T02:39:10.0156023Z           "evidence": [
2026-06-04T02:39:10.0156180Z             {
2026-06-04T02:39:10.0156451Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-04T02:39:10.0156625Z               "line": 27
2026-06-04T02:39:10.0156772Z             },
2026-06-04T02:39:10.0156932Z             {
2026-06-04T02:39:10.0157198Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-04T02:39:10.0157626Z               "line": 125
2026-06-04T02:39:10.0157783Z             },
2026-06-04T02:39:10.0158304Z             {
2026-06-04T02:39:10.0158582Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-04T02:39:10.0158750Z               "line": 189
2026-06-04T02:39:10.0158908Z             }
2026-06-04T02:39:10.0159063Z           ]
2026-06-04T02:39:10.0159276Z         },
2026-06-04T02:39:10.0159442Z         "unit": {
2026-06-04T02:39:10.0159620Z           "complete": true,
2026-06-04T02:39:10.0159797Z           "evidence": [
2026-06-04T02:39:10.0159948Z             {
2026-06-04T02:39:10.0160196Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T02:39:10.0160373Z               "line": 282
2026-06-04T02:39:10.0160532Z             },
2026-06-04T02:39:10.0160690Z             {
2026-06-04T02:39:10.0160933Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T02:39:10.0161111Z               "line": 300
2026-06-04T02:39:10.0161277Z             },
2026-06-04T02:39:10.0161434Z             {
2026-06-04T02:39:10.0161679Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-04T02:39:10.0161855Z               "line": 318
2026-06-04T02:39:10.0162011Z             },
2026-06-04T02:39:10.0162158Z             {
2026-06-04T02:39:10.0162412Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T02:39:10.0162585Z               "line": 204
2026-06-04T02:39:10.0162746Z             },
2026-06-04T02:39:10.0162902Z             {
2026-06-04T02:39:10.0163129Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:10.0163309Z               "line": 441
2026-06-04T02:39:10.0163461Z             },
2026-06-04T02:39:10.0163619Z             {
2026-06-04T02:39:10.0163850Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:10.0164028Z               "line": 465
2026-06-04T02:39:10.0164182Z             }
2026-06-04T02:39:10.0164328Z           ]
2026-06-04T02:39:10.0164501Z         }
2026-06-04T02:39:10.0164650Z       }
2026-06-04T02:39:10.0164802Z     },
2026-06-04T02:39:10.0164944Z     {
2026-06-04T02:39:10.0165207Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-04T02:39:10.0168877Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-04T02:39:10.0169077Z       "requiredStages": [
2026-06-04T02:39:10.0169294Z         "impl",
2026-06-04T02:39:10.0169448Z         "unit"
2026-06-04T02:39:10.0169604Z       ],
2026-06-04T02:39:10.0169772Z       "stages": {
2026-06-04T02:39:10.0169926Z         "doc": {
2026-06-04T02:39:10.0170109Z           "complete": false,
2026-06-04T02:39:10.0170277Z           "evidence": []
2026-06-04T02:39:10.0170431Z         },
2026-06-04T02:39:10.0170587Z         "impl": {
2026-06-04T02:39:10.0170770Z           "complete": true,
2026-06-04T02:39:10.0170944Z           "evidence": [
2026-06-04T02:39:10.0171094Z             {
2026-06-04T02:39:10.0171335Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0171524Z               "line": 33
2026-06-04T02:39:10.0171680Z             },
2026-06-04T02:39:10.0171827Z             {
2026-06-04T02:39:10.0172079Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0172261Z               "line": 61
2026-06-04T02:39:10.0172413Z             },
2026-06-04T02:39:10.0172568Z             {
2026-06-04T02:39:10.0172798Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0172974Z               "line": 70
2026-06-04T02:39:10.0173122Z             },
2026-06-04T02:39:10.0173279Z             {
2026-06-04T02:39:10.0173519Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0173684Z               "line": 79
2026-06-04T02:39:10.0173844Z             },
2026-06-04T02:39:10.0173993Z             {
2026-06-04T02:39:10.0174229Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0174393Z               "line": 88
2026-06-04T02:39:10.0174548Z             },
2026-06-04T02:39:10.0174896Z             {
2026-06-04T02:39:10.0175132Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0175307Z               "line": 96
2026-06-04T02:39:10.0175591Z             },
2026-06-04T02:39:10.0175753Z             {
2026-06-04T02:39:10.0175980Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0176160Z               "line": 105
2026-06-04T02:39:10.0176321Z             },
2026-06-04T02:39:10.0176472Z             {
2026-06-04T02:39:10.0176707Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0176875Z               "line": 112
2026-06-04T02:39:10.0177037Z             },
2026-06-04T02:39:10.0177186Z             {
2026-06-04T02:39:10.0177426Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0177614Z               "line": 119
2026-06-04T02:39:10.0177764Z             },
2026-06-04T02:39:10.0177919Z             {
2026-06-04T02:39:10.0178148Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0178341Z               "line": 186
2026-06-04T02:39:10.0178493Z             },
2026-06-04T02:39:10.0178652Z             {
2026-06-04T02:39:10.0178887Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0179066Z               "line": 198
2026-06-04T02:39:10.0179276Z             },
2026-06-04T02:39:10.0179428Z             {
2026-06-04T02:39:10.0179664Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0179843Z               "line": 285
2026-06-04T02:39:10.0179992Z             }
2026-06-04T02:39:10.0180146Z           ]
2026-06-04T02:39:10.0180293Z         },
2026-06-04T02:39:10.0180454Z         "int": {
2026-06-04T02:39:10.0180634Z           "complete": false,
2026-06-04T02:39:10.0180813Z           "evidence": []
2026-06-04T02:39:10.0180961Z         },
2026-06-04T02:39:10.0181130Z         "unit": {
2026-06-04T02:39:10.0181319Z           "complete": true,
2026-06-04T02:39:10.0181487Z           "evidence": [
2026-06-04T02:39:10.0181646Z             {
2026-06-04T02:39:10.0181889Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0182069Z               "line": 355
2026-06-04T02:39:10.0182221Z             },
2026-06-04T02:39:10.0182389Z             {
2026-06-04T02:39:10.0182624Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0182792Z               "line": 381
2026-06-04T02:39:10.0182953Z             },
2026-06-04T02:39:10.0183109Z             {
2026-06-04T02:39:10.0183350Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0183527Z               "line": 394
2026-06-04T02:39:10.0183676Z             },
2026-06-04T02:39:10.0183832Z             {
2026-06-04T02:39:10.0184058Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0184235Z               "line": 436
2026-06-04T02:39:10.0184380Z             }
2026-06-04T02:39:10.0184537Z           ]
2026-06-04T02:39:10.0184695Z         }
2026-06-04T02:39:10.0184841Z       }
2026-06-04T02:39:10.0184991Z     },
2026-06-04T02:39:10.0190740Z     {
2026-06-04T02:39:10.0191117Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-04T02:39:10.0191532Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-04T02:39:10.0191761Z       "requiredStages": [
2026-06-04T02:39:10.0191924Z         "impl",
2026-06-04T02:39:10.0192078Z         "unit"
2026-06-04T02:39:10.0192235Z       ],
2026-06-04T02:39:10.0192391Z       "stages": {
2026-06-04T02:39:10.0192551Z         "doc": {
2026-06-04T02:39:10.0192731Z           "complete": false,
2026-06-04T02:39:10.0192909Z           "evidence": []
2026-06-04T02:39:10.0193066Z         },
2026-06-04T02:39:10.0193226Z         "impl": {
2026-06-04T02:39:10.0193410Z           "complete": true,
2026-06-04T02:39:10.0193576Z           "evidence": [
2026-06-04T02:39:10.0193732Z             {
2026-06-04T02:39:10.0193958Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T02:39:10.0194137Z               "line": 107
2026-06-04T02:39:10.0194294Z             },
2026-06-04T02:39:10.0194709Z             {
2026-06-04T02:39:10.0194963Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:10.0195131Z               "line": 59
2026-06-04T02:39:10.0195419Z             }
2026-06-04T02:39:10.0195569Z           ]
2026-06-04T02:39:10.0195723Z         },
2026-06-04T02:39:10.0195881Z         "int": {
2026-06-04T02:39:10.0196060Z           "complete": false,
2026-06-04T02:39:10.0196240Z           "evidence": []
2026-06-04T02:39:10.0196389Z         },
2026-06-04T02:39:10.0196553Z         "unit": {
2026-06-04T02:39:10.0196730Z           "complete": true,
2026-06-04T02:39:10.0196903Z           "evidence": [
2026-06-04T02:39:10.0197052Z             {
2026-06-04T02:39:10.0197289Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T02:39:10.0197468Z               "line": 225
2026-06-04T02:39:10.0197618Z             },
2026-06-04T02:39:10.0197773Z             {
2026-06-04T02:39:10.0198013Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:10.0198190Z               "line": 237
2026-06-04T02:39:10.0198368Z             },
2026-06-04T02:39:10.0198515Z             {
2026-06-04T02:39:10.0198764Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:10.0198941Z               "line": 247
2026-06-04T02:39:10.0199098Z             }
2026-06-04T02:39:10.0199318Z           ]
2026-06-04T02:39:10.0199474Z         }
2026-06-04T02:39:10.0199630Z       }
2026-06-04T02:39:10.0199780Z     },
2026-06-04T02:39:10.0199930Z     {
2026-06-04T02:39:10.0200138Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-04T02:39:10.0200428Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-04T02:39:10.0200617Z       "requiredStages": [],
2026-06-04T02:39:10.0200788Z       "stages": {
2026-06-04T02:39:10.0200951Z         "doc": {
2026-06-04T02:39:10.0201132Z           "complete": false,
2026-06-04T02:39:10.0201311Z           "evidence": []
2026-06-04T02:39:10.0201462Z         },
2026-06-04T02:39:10.0201626Z         "impl": {
2026-06-04T02:39:10.0201805Z           "complete": false,
2026-06-04T02:39:10.0201997Z           "evidence": []
2026-06-04T02:39:10.0202159Z         },
2026-06-04T02:39:10.0202310Z         "int": {
2026-06-04T02:39:10.0202506Z           "complete": false,
2026-06-04T02:39:10.0202676Z           "evidence": []
2026-06-04T02:39:10.0202834Z         },
2026-06-04T02:39:10.0202988Z         "unit": {
2026-06-04T02:39:10.0203174Z           "complete": false,
2026-06-04T02:39:10.0203346Z           "evidence": []
2026-06-04T02:39:10.0203488Z         }
2026-06-04T02:39:10.0203638Z       }
2026-06-04T02:39:10.0203783Z     },
2026-06-04T02:39:10.0203931Z     {
2026-06-04T02:39:10.0204163Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-04T02:39:10.0204499Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-04T02:39:10.0204690Z       "requiredStages": [
2026-06-04T02:39:10.0204844Z         "impl",
2026-06-04T02:39:10.0205008Z         "unit"
2026-06-04T02:39:10.0205155Z       ],
2026-06-04T02:39:10.0205317Z       "stages": {
2026-06-04T02:39:10.0205481Z         "doc": {
2026-06-04T02:39:10.0205665Z           "complete": false,
2026-06-04T02:39:10.0205845Z           "evidence": []
2026-06-04T02:39:10.0206003Z         },
2026-06-04T02:39:10.0206168Z         "impl": {
2026-06-04T02:39:10.0206344Z           "complete": true,
2026-06-04T02:39:10.0206518Z           "evidence": [
2026-06-04T02:39:10.0206667Z             {
2026-06-04T02:39:10.0206923Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:10.0207102Z               "line": 347
2026-06-04T02:39:10.0207252Z             },
2026-06-04T02:39:10.0207410Z             {
2026-06-04T02:39:10.0207643Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T02:39:10.0207818Z               "line": 28
2026-06-04T02:39:10.0207967Z             }
2026-06-04T02:39:10.0208122Z           ]
2026-06-04T02:39:10.0208278Z         },
2026-06-04T02:39:10.0208431Z         "int": {
2026-06-04T02:39:10.0208614Z           "complete": false,
2026-06-04T02:39:10.0208962Z           "evidence": []
2026-06-04T02:39:10.0209118Z         },
2026-06-04T02:39:10.0209320Z         "unit": {
2026-06-04T02:39:10.0209509Z           "complete": true,
2026-06-04T02:39:10.0209832Z           "evidence": [
2026-06-04T02:39:10.0209987Z             {
2026-06-04T02:39:10.0210228Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-04T02:39:10.0210396Z               "line": 199
2026-06-04T02:39:10.0210553Z             }
2026-06-04T02:39:10.0210698Z           ]
2026-06-04T02:39:10.0210854Z         }
2026-06-04T02:39:10.0211011Z       }
2026-06-04T02:39:10.0211157Z     },
2026-06-04T02:39:10.0211312Z     {
2026-06-04T02:39:10.0211522Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-04T02:39:10.0211806Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-04T02:39:10.0211992Z       "requiredStages": [],
2026-06-04T02:39:10.0212160Z       "stages": {
2026-06-04T02:39:10.0212324Z         "doc": {
2026-06-04T02:39:10.0212504Z           "complete": false,
2026-06-04T02:39:10.0212694Z           "evidence": []
2026-06-04T02:39:10.0212843Z         },
2026-06-04T02:39:10.0213004Z         "impl": {
2026-06-04T02:39:10.0213193Z           "complete": false,
2026-06-04T02:39:10.0213368Z           "evidence": []
2026-06-04T02:39:10.0213519Z         },
2026-06-04T02:39:10.0213670Z         "int": {
2026-06-04T02:39:10.0213855Z           "complete": false,
2026-06-04T02:39:10.0214027Z           "evidence": []
2026-06-04T02:39:10.0214185Z         },
2026-06-04T02:39:10.0214339Z         "unit": {
2026-06-04T02:39:10.0214520Z           "complete": false,
2026-06-04T02:39:10.0214688Z           "evidence": []
2026-06-04T02:39:10.0214866Z         }
2026-06-04T02:39:10.0215020Z       }
2026-06-04T02:39:10.0215163Z     },
2026-06-04T02:39:10.0215318Z     {
2026-06-04T02:39:10.0215535Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-04T02:39:10.0215849Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-04T02:39:10.0216030Z       "requiredStages": [
2026-06-04T02:39:10.0216206Z         "impl",
2026-06-04T02:39:10.0216367Z         "unit"
2026-06-04T02:39:10.0216520Z       ],
2026-06-04T02:39:10.0216688Z       "stages": {
2026-06-04T02:39:10.0216850Z         "doc": {
2026-06-04T02:39:10.0217036Z           "complete": false,
2026-06-04T02:39:10.0217199Z           "evidence": []
2026-06-04T02:39:10.0217351Z         },
2026-06-04T02:39:10.0217512Z         "impl": {
2026-06-04T02:39:10.0217690Z           "complete": true,
2026-06-04T02:39:10.0217863Z           "evidence": [
2026-06-04T02:39:10.0218020Z             {
2026-06-04T02:39:10.0218286Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T02:39:10.0218453Z               "line": 325
2026-06-04T02:39:10.0218610Z             },
2026-06-04T02:39:10.0218767Z             {
2026-06-04T02:39:10.0219013Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T02:39:10.0219231Z               "line": 361
2026-06-04T02:39:10.0219380Z             }
2026-06-04T02:39:10.0219537Z           ]
2026-06-04T02:39:10.0219694Z         },
2026-06-04T02:39:10.0219854Z         "int": {
2026-06-04T02:39:10.0220038Z           "complete": false,
2026-06-04T02:39:10.0220221Z           "evidence": []
2026-06-04T02:39:10.0225675Z         },
2026-06-04T02:39:10.0225953Z         "unit": {
2026-06-04T02:39:10.0226150Z           "complete": true,
2026-06-04T02:39:10.0226317Z           "evidence": [
2026-06-04T02:39:10.0226474Z             {
2026-06-04T02:39:10.0226732Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T02:39:10.0226902Z               "line": 453
2026-06-04T02:39:10.0227061Z             }
2026-06-04T02:39:10.0227207Z           ]
2026-06-04T02:39:10.0227364Z         }
2026-06-04T02:39:10.0227513Z       }
2026-06-04T02:39:10.0227663Z     },
2026-06-04T02:39:10.0227812Z     {
2026-06-04T02:39:10.0228052Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-04T02:39:10.0228373Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-04T02:39:10.0228553Z       "requiredStages": [
2026-06-04T02:39:10.0229059Z         "impl",
2026-06-04T02:39:10.0229288Z         "unit"
2026-06-04T02:39:10.0229451Z       ],
2026-06-04T02:39:10.0229762Z       "stages": {
2026-06-04T02:39:10.0229918Z         "doc": {
2026-06-04T02:39:10.0230102Z           "complete": false,
2026-06-04T02:39:10.0230268Z           "evidence": []
2026-06-04T02:39:10.0230422Z         },
2026-06-04T02:39:10.0230576Z         "impl": {
2026-06-04T02:39:10.0230756Z           "complete": true,
2026-06-04T02:39:10.0230926Z           "evidence": [
2026-06-04T02:39:10.0231073Z             {
2026-06-04T02:39:10.0231316Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T02:39:10.0231482Z               "line": 35
2026-06-04T02:39:10.0231637Z             }
2026-06-04T02:39:10.0231792Z           ]
2026-06-04T02:39:10.0231948Z         },
2026-06-04T02:39:10.0232109Z         "int": {
2026-06-04T02:39:10.0232288Z           "complete": false,
2026-06-04T02:39:10.0232461Z           "evidence": []
2026-06-04T02:39:10.0232624Z         },
2026-06-04T02:39:10.0232786Z         "unit": {
2026-06-04T02:39:10.0232964Z           "complete": true,
2026-06-04T02:39:10.0233135Z           "evidence": [
2026-06-04T02:39:10.0233304Z             {
2026-06-04T02:39:10.0233535Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-04T02:39:10.0233711Z               "line": 217
2026-06-04T02:39:10.0233858Z             }
2026-06-04T02:39:10.0234011Z           ]
2026-06-04T02:39:10.0234154Z         }
2026-06-04T02:39:10.0234307Z       }
2026-06-04T02:39:10.0234460Z     },
2026-06-04T02:39:10.0234603Z     {
2026-06-04T02:39:10.0234816Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-04T02:39:10.0235358Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-04T02:39:10.0235553Z       "requiredStages": [
2026-06-04T02:39:10.0235707Z         "impl",
2026-06-04T02:39:10.0235872Z         "unit"
2026-06-04T02:39:10.0236026Z       ],
2026-06-04T02:39:10.0236184Z       "stages": {
2026-06-04T02:39:10.0236359Z         "doc": {
2026-06-04T02:39:10.0236540Z           "complete": false,
2026-06-04T02:39:10.0236723Z           "evidence": []
2026-06-04T02:39:10.0236883Z         },
2026-06-04T02:39:10.0237048Z         "impl": {
2026-06-04T02:39:10.0237230Z           "complete": true,
2026-06-04T02:39:10.0237395Z           "evidence": [
2026-06-04T02:39:10.0237550Z             {
2026-06-04T02:39:10.0237800Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T02:39:10.0237980Z               "line": 159
2026-06-04T02:39:10.0238133Z             },
2026-06-04T02:39:10.0238286Z             {
2026-06-04T02:39:10.0238536Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T02:39:10.0238699Z               "line": 150
2026-06-04T02:39:10.0238856Z             }
2026-06-04T02:39:10.0239004Z           ]
2026-06-04T02:39:10.0239200Z         },
2026-06-04T02:39:10.0239360Z         "int": {
2026-06-04T02:39:10.0239701Z           "complete": false,
2026-06-04T02:39:10.0239958Z           "evidence": []
2026-06-04T02:39:10.0240292Z         },
2026-06-04T02:39:10.0240480Z         "unit": {
2026-06-04T02:39:10.0240657Z           "complete": true,
2026-06-04T02:39:10.0240844Z           "evidence": [
2026-06-04T02:39:10.0240991Z             {
2026-06-04T02:39:10.0241246Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T02:39:10.0241419Z               "line": 382
2026-06-04T02:39:10.0241566Z             },
2026-06-04T02:39:10.0241723Z             {
2026-06-04T02:39:10.0241968Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T02:39:10.0242145Z               "line": 393
2026-06-04T02:39:10.0242297Z             },
2026-06-04T02:39:10.0242451Z             {
2026-06-04T02:39:10.0242703Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T02:39:10.0242868Z               "line": 409
2026-06-04T02:39:10.0243025Z             },
2026-06-04T02:39:10.0243173Z             {
2026-06-04T02:39:10.0243427Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T02:39:10.0243792Z               "line": 423
2026-06-04T02:39:10.0243944Z             }
2026-06-04T02:39:10.0244099Z           ]
2026-06-04T02:39:10.0244396Z         }
2026-06-04T02:39:10.0244556Z       }
2026-06-04T02:39:10.0244701Z     },
2026-06-04T02:39:10.0244852Z     {
2026-06-04T02:39:10.0245058Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-04T02:39:10.0246971Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-04T02:39:10.0247183Z       "requiredStages": [
2026-06-04T02:39:10.0247335Z         "doc",
2026-06-04T02:39:10.0247496Z         "impl",
2026-06-04T02:39:10.0247647Z         "unit"
2026-06-04T02:39:10.0247807Z       ],
2026-06-04T02:39:10.0247971Z       "stages": {
2026-06-04T02:39:10.0248128Z         "doc": {
2026-06-04T02:39:10.0248351Z           "complete": true,
2026-06-04T02:39:10.0248520Z           "evidence": [
2026-06-04T02:39:10.0248675Z             {
2026-06-04T02:39:10.0248890Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-04T02:39:10.0249089Z               "line": 253
2026-06-04T02:39:10.0249297Z             }
2026-06-04T02:39:10.0249451Z           ]
2026-06-04T02:39:10.0249617Z         },
2026-06-04T02:39:10.0249796Z         "impl": {
2026-06-04T02:39:10.0249995Z           "complete": true,
2026-06-04T02:39:10.0250165Z           "evidence": [
2026-06-04T02:39:10.0250324Z             {
2026-06-04T02:39:10.0250560Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T02:39:10.0250721Z               "line": 62
2026-06-04T02:39:10.0250877Z             },
2026-06-04T02:39:10.0251027Z             {
2026-06-04T02:39:10.0251278Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T02:39:10.0251445Z               "line": 36
2026-06-04T02:39:10.0251605Z             }
2026-06-04T02:39:10.0251760Z           ]
2026-06-04T02:39:10.0251928Z         },
2026-06-04T02:39:10.0252093Z         "int": {
2026-06-04T02:39:10.0252268Z           "complete": false,
2026-06-04T02:39:10.0252458Z           "evidence": []
2026-06-04T02:39:10.0252607Z         },
2026-06-04T02:39:10.0252769Z         "unit": {
2026-06-04T02:39:10.0252953Z           "complete": true,
2026-06-04T02:39:10.0253119Z           "evidence": [
2026-06-04T02:39:10.0253273Z             {
2026-06-04T02:39:10.0253525Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T02:39:10.0253705Z               "line": 147
2026-06-04T02:39:10.0253858Z             },
2026-06-04T02:39:10.0254017Z             {
2026-06-04T02:39:10.0254266Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T02:39:10.0254431Z               "line": 126
2026-06-04T02:39:10.0254585Z             }
2026-06-04T02:39:10.0254730Z           ]
2026-06-04T02:39:10.0254883Z         }
2026-06-04T02:39:10.0255031Z       }
2026-06-04T02:39:10.0255187Z     },
2026-06-04T02:39:10.0255349Z     {
2026-06-04T02:39:10.0255575Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-04T02:39:10.0255903Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-04T02:39:10.0256096Z       "requiredStages": [
2026-06-04T02:39:10.0256261Z         "impl",
2026-06-04T02:39:10.0256416Z         "unit"
2026-06-04T02:39:10.0256575Z       ],
2026-06-04T02:39:10.0256733Z       "stages": {
2026-06-04T02:39:10.0256881Z         "doc": {
2026-06-04T02:39:10.0257064Z           "complete": false,
2026-06-04T02:39:10.0257238Z           "evidence": []
2026-06-04T02:39:10.0257393Z         },
2026-06-04T02:39:10.0257559Z         "impl": {
2026-06-04T02:39:10.0263291Z           "complete": true,
2026-06-04T02:39:10.0263508Z           "evidence": [
2026-06-04T02:39:10.0263658Z             {
2026-06-04T02:39:10.0263906Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T02:39:10.0264077Z               "line": 95
2026-06-04T02:39:10.0264237Z             },
2026-06-04T02:39:10.0264686Z             {
2026-06-04T02:39:10.0264935Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0265114Z               "line": 96
2026-06-04T02:39:10.0265422Z             }
2026-06-04T02:39:10.0265585Z           ]
2026-06-04T02:39:10.0265737Z         },
2026-06-04T02:39:10.0265897Z         "int": {
2026-06-04T02:39:10.0266073Z           "complete": false,
2026-06-04T02:39:10.0266254Z           "evidence": []
2026-06-04T02:39:10.0266406Z         },
2026-06-04T02:39:10.0266566Z         "unit": {
2026-06-04T02:39:10.0266747Z           "complete": true,
2026-06-04T02:39:10.0266913Z           "evidence": [
2026-06-04T02:39:10.0267070Z             {
2026-06-04T02:39:10.0267300Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T02:39:10.0267476Z               "line": 250
2026-06-04T02:39:10.0267634Z             },
2026-06-04T02:39:10.0267779Z             {
2026-06-04T02:39:10.0268014Z               "path": "crates/spt-store/src/proc.rs",
2026-06-04T02:39:10.0268178Z               "line": 139
2026-06-04T02:39:10.0268358Z             },
2026-06-04T02:39:10.0268510Z             {
2026-06-04T02:39:10.0268751Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0268937Z               "line": 375
2026-06-04T02:39:10.0269091Z             },
2026-06-04T02:39:10.0269321Z             {
2026-06-04T02:39:10.0269558Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0269737Z               "line": 405
2026-06-04T02:39:10.0269888Z             }
2026-06-04T02:39:10.0270044Z           ]
2026-06-04T02:39:10.0270200Z         }
2026-06-04T02:39:10.0270349Z       }
2026-06-04T02:39:10.0270501Z     },
2026-06-04T02:39:10.0270646Z     {
2026-06-04T02:39:10.0270859Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-04T02:39:10.0271234Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-04T02:39:10.0271422Z       "requiredStages": [
2026-06-04T02:39:10.0271584Z         "impl",
2026-06-04T02:39:10.0271734Z         "unit"
2026-06-04T02:39:10.0271904Z       ],
2026-06-04T02:39:10.0272060Z       "stages": {
2026-06-04T02:39:10.0272220Z         "doc": {
2026-06-04T02:39:10.0272408Z           "complete": false,
2026-06-04T02:39:10.0272587Z           "evidence": []
2026-06-04T02:39:10.0272742Z         },
2026-06-04T02:39:10.0272900Z         "impl": {
2026-06-04T02:39:10.0273081Z           "complete": true,
2026-06-04T02:39:10.0273249Z           "evidence": [
2026-06-04T02:39:10.0273404Z             {
2026-06-04T02:39:10.0273636Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0273809Z               "line": 142
2026-06-04T02:39:10.0273966Z             },
2026-06-04T02:39:10.0274114Z             {
2026-06-04T02:39:10.0274352Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0274515Z               "line": 187
2026-06-04T02:39:10.0274673Z             },
2026-06-04T02:39:10.0274823Z             {
2026-06-04T02:39:10.0275064Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0275246Z               "line": 199
2026-06-04T02:39:10.0275394Z             }
2026-06-04T02:39:10.0275550Z           ]
2026-06-04T02:39:10.0275708Z         },
2026-06-04T02:39:10.0275869Z         "int": {
2026-06-04T02:39:10.0276044Z           "complete": false,
2026-06-04T02:39:10.0276219Z           "evidence": []
2026-06-04T02:39:10.0276372Z         },
2026-06-04T02:39:10.0276525Z         "unit": {
2026-06-04T02:39:10.0276706Z           "complete": true,
2026-06-04T02:39:10.0276871Z           "evidence": [
2026-06-04T02:39:10.0277027Z             {
2026-06-04T02:39:10.0277256Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0277430Z               "line": 335
2026-06-04T02:39:10.0277585Z             },
2026-06-04T02:39:10.0277732Z             {
2026-06-04T02:39:10.0277963Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0278131Z               "line": 364
2026-06-04T02:39:10.0278287Z             }
2026-06-04T02:39:10.0278442Z           ]
2026-06-04T02:39:10.0278768Z         }
2026-06-04T02:39:10.0278924Z       }
2026-06-04T02:39:10.0279066Z     },
2026-06-04T02:39:10.0279263Z     {
2026-06-04T02:39:10.0279582Z       "id": "REQ-INFRA-1",
2026-06-04T02:39:10.0279960Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-04T02:39:10.0280154Z       "requiredStages": [],
2026-06-04T02:39:10.0280313Z       "stages": {
2026-06-04T02:39:10.0280476Z         "doc": {
2026-06-04T02:39:10.0280651Z           "complete": false,
2026-06-04T02:39:10.0280829Z           "evidence": []
2026-06-04T02:39:10.0280974Z         },
2026-06-04T02:39:10.0281138Z         "impl": {
2026-06-04T02:39:10.0281321Z           "complete": false,
2026-06-04T02:39:10.0281492Z           "evidence": []
2026-06-04T02:39:10.0281644Z         },
2026-06-04T02:39:10.0281796Z         "int": {
2026-06-04T02:39:10.0281976Z           "complete": false,
2026-06-04T02:39:10.0282143Z           "evidence": []
2026-06-04T02:39:10.0282305Z         },
2026-06-04T02:39:10.0282476Z         "unit": {
2026-06-04T02:39:10.0282661Z           "complete": false,
2026-06-04T02:39:10.0282836Z           "evidence": []
2026-06-04T02:39:10.0282999Z         }
2026-06-04T02:39:10.0283153Z       }
2026-06-04T02:39:10.0283298Z     },
2026-06-04T02:39:10.0283450Z     {
2026-06-04T02:39:10.0283618Z       "id": "REQ-INST-1",
2026-06-04T02:39:10.0283947Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-04T02:39:10.0284137Z       "requiredStages": [],
2026-06-04T02:39:10.0284297Z       "stages": {
2026-06-04T02:39:10.0284460Z         "doc": {
2026-06-04T02:39:10.0284639Z           "complete": false,
2026-06-04T02:39:10.0284816Z           "evidence": []
2026-06-04T02:39:10.0284962Z         },
2026-06-04T02:39:10.0285126Z         "impl": {
2026-06-04T02:39:10.0285309Z           "complete": false,
2026-06-04T02:39:10.0285475Z           "evidence": []
2026-06-04T02:39:10.0285624Z         },
2026-06-04T02:39:10.0285774Z         "int": {
2026-06-04T02:39:10.0285954Z           "complete": false,
2026-06-04T02:39:10.0286135Z           "evidence": []
2026-06-04T02:39:10.0286293Z         },
2026-06-04T02:39:10.0286455Z         "unit": {
2026-06-04T02:39:10.0286635Z           "complete": false,
2026-06-04T02:39:10.0286811Z           "evidence": []
2026-06-04T02:39:10.0286959Z         }
2026-06-04T02:39:10.0287112Z       }
2026-06-04T02:39:10.0287256Z     },
2026-06-04T02:39:10.0287413Z     {
2026-06-04T02:39:10.0287596Z       "id": "REQ-INST-10",
2026-06-04T02:39:10.0288018Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-04T02:39:10.0288211Z       "requiredStages": [
2026-06-04T02:39:10.0288366Z         "impl",
2026-06-04T02:39:10.0288527Z         "unit"
2026-06-04T02:39:10.0288675Z       ],
2026-06-04T02:39:10.0288846Z       "stages": {
2026-06-04T02:39:10.0289005Z         "doc": {
2026-06-04T02:39:10.0289229Z           "complete": false,
2026-06-04T02:39:10.0289407Z           "evidence": []
2026-06-04T02:39:10.0289551Z         },
2026-06-04T02:39:10.0289722Z         "impl": {
2026-06-04T02:39:10.0289896Z           "complete": true,
2026-06-04T02:39:10.0290067Z           "evidence": [
2026-06-04T02:39:10.0290241Z             {
2026-06-04T02:39:10.0290492Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0290662Z               "line": 351
2026-06-04T02:39:10.0290813Z             },
2026-06-04T02:39:10.0290966Z             {
2026-06-04T02:39:10.0291211Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0291393Z               "line": 406
2026-06-04T02:39:10.0291552Z             },
2026-06-04T02:39:10.0291700Z             {
2026-06-04T02:39:10.0291933Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T02:39:10.0292095Z               "line": 13
2026-06-04T02:39:10.0292254Z             },
2026-06-04T02:39:10.0292398Z             {
2026-06-04T02:39:10.0292636Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T02:39:10.0298092Z               "line": 67
2026-06-04T02:39:10.0298680Z             }
2026-06-04T02:39:10.0298840Z           ]
2026-06-04T02:39:10.0298997Z         },
2026-06-04T02:39:10.0299242Z         "int": {
2026-06-04T02:39:10.0299576Z           "complete": false,
2026-06-04T02:39:10.0299758Z           "evidence": []
2026-06-04T02:39:10.0299913Z         },
2026-06-04T02:39:10.0300067Z         "unit": {
2026-06-04T02:39:10.0300250Z           "complete": true,
2026-06-04T02:39:10.0300415Z           "evidence": [
2026-06-04T02:39:10.0300571Z             {
2026-06-04T02:39:10.0300826Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0301007Z               "line": 550
2026-06-04T02:39:10.0301162Z             },
2026-06-04T02:39:10.0301309Z             {
2026-06-04T02:39:10.0301559Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0301726Z               "line": 559
2026-06-04T02:39:10.0301883Z             },
2026-06-04T02:39:10.0302034Z             {
2026-06-04T02:39:10.0302278Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0302470Z               "line": 567
2026-06-04T02:39:10.0302618Z             },
2026-06-04T02:39:10.0302785Z             {
2026-06-04T02:39:10.0303025Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0303197Z               "line": 580
2026-06-04T02:39:10.0303355Z             },
2026-06-04T02:39:10.0303502Z             {
2026-06-04T02:39:10.0303753Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0303918Z               "line": 593
2026-06-04T02:39:10.0304081Z             },
2026-06-04T02:39:10.0304228Z             {
2026-06-04T02:39:10.0304479Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0304657Z               "line": 609
2026-06-04T02:39:10.0304809Z             },
2026-06-04T02:39:10.0304962Z             {
2026-06-04T02:39:10.0305205Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0305378Z               "line": 838
2026-06-04T02:39:10.0305539Z             },
2026-06-04T02:39:10.0305700Z             {
2026-06-04T02:39:10.0305943Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T02:39:10.0306118Z               "line": 121
2026-06-04T02:39:10.0306273Z             },
2026-06-04T02:39:10.0306424Z             {
2026-06-04T02:39:10.0306657Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T02:39:10.0306820Z               "line": 142
2026-06-04T02:39:10.0306975Z             },
2026-06-04T02:39:10.0307130Z             {
2026-06-04T02:39:10.0307356Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T02:39:10.0307530Z               "line": 150
2026-06-04T02:39:10.0307674Z             },
2026-06-04T02:39:10.0307828Z             {
2026-06-04T02:39:10.0308060Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-04T02:39:10.0308233Z               "line": 158
2026-06-04T02:39:10.0308390Z             }
2026-06-04T02:39:10.0308538Z           ]
2026-06-04T02:39:10.0308690Z         }
2026-06-04T02:39:10.0308846Z       }
2026-06-04T02:39:10.0308998Z     },
2026-06-04T02:39:10.0309142Z     {
2026-06-04T02:39:10.0309369Z       "id": "REQ-INST-11",
2026-06-04T02:39:10.0309832Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-04T02:39:10.0310012Z       "requiredStages": [
2026-06-04T02:39:10.0310177Z         "impl",
2026-06-04T02:39:10.0310333Z         "unit"
2026-06-04T02:39:10.0310490Z       ],
2026-06-04T02:39:10.0310640Z       "stages": {
2026-06-04T02:39:10.0310801Z         "doc": {
2026-06-04T02:39:10.0310982Z           "complete": false,
2026-06-04T02:39:10.0311152Z           "evidence": []
2026-06-04T02:39:10.0311303Z         },
2026-06-04T02:39:10.0311461Z         "impl": {
2026-06-04T02:39:10.0311639Z           "complete": true,
2026-06-04T02:39:10.0311801Z           "evidence": [
2026-06-04T02:39:10.0311955Z             {
2026-06-04T02:39:10.0312207Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0312536Z               "line": 253
2026-06-04T02:39:10.0312694Z             },
2026-06-04T02:39:10.0312841Z             {
2026-06-04T02:39:10.0313081Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T02:39:10.0313396Z               "line": 59
2026-06-04T02:39:10.0313557Z             },
2026-06-04T02:39:10.0313712Z             {
2026-06-04T02:39:10.0313918Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0314095Z               "line": 586
2026-06-04T02:39:10.0314247Z             }
2026-06-04T02:39:10.0314401Z           ]
2026-06-04T02:39:10.0314544Z         },
2026-06-04T02:39:10.0314708Z         "int": {
2026-06-04T02:39:10.0314893Z           "complete": false,
2026-06-04T02:39:10.0315064Z           "evidence": []
2026-06-04T02:39:10.0315223Z         },
2026-06-04T02:39:10.0315378Z         "unit": {
2026-06-04T02:39:10.0315558Z           "complete": true,
2026-06-04T02:39:10.0315722Z           "evidence": [
2026-06-04T02:39:10.0315877Z             {
2026-06-04T02:39:10.0316142Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0316311Z               "line": 702
2026-06-04T02:39:10.0316467Z             },
2026-06-04T02:39:10.0316625Z             {
2026-06-04T02:39:10.0316875Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0317038Z               "line": 725
2026-06-04T02:39:10.0317198Z             },
2026-06-04T02:39:10.0317360Z             {
2026-06-04T02:39:10.0317591Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T02:39:10.0317766Z               "line": 156
2026-06-04T02:39:10.0317916Z             },
2026-06-04T02:39:10.0318073Z             {
2026-06-04T02:39:10.0318309Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T02:39:10.0318481Z               "line": 177
2026-06-04T02:39:10.0318645Z             },
2026-06-04T02:39:10.0318795Z             {
2026-06-04T02:39:10.0319034Z               "path": "crates/spt-store/src/rename.rs",
2026-06-04T02:39:10.0319250Z               "line": 209
2026-06-04T02:39:10.0319429Z             },
2026-06-04T02:39:10.0319587Z             {
2026-06-04T02:39:10.0319799Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0319985Z               "line": 635
2026-06-04T02:39:10.0320137Z             }
2026-06-04T02:39:10.0320293Z           ]
2026-06-04T02:39:10.0320439Z         }
2026-06-04T02:39:10.0320591Z       }
2026-06-04T02:39:10.0320741Z     },
2026-06-04T02:39:10.0320882Z     {
2026-06-04T02:39:10.0321065Z       "id": "REQ-INST-12",
2026-06-04T02:39:10.0321658Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-04T02:39:10.0321850Z       "requiredStages": [
2026-06-04T02:39:10.0322004Z         "impl",
2026-06-04T02:39:10.0322165Z         "unit"
2026-06-04T02:39:10.0322324Z       ],
2026-06-04T02:39:10.0322486Z       "stages": {
2026-06-04T02:39:10.0322642Z         "doc": {
2026-06-04T02:39:10.0322818Z           "complete": false,
2026-06-04T02:39:10.0323008Z           "evidence": []
2026-06-04T02:39:10.0323156Z         },
2026-06-04T02:39:10.0323317Z         "impl": {
2026-06-04T02:39:10.0323505Z           "complete": true,
2026-06-04T02:39:10.0323680Z           "evidence": [
2026-06-04T02:39:10.0323837Z             {
2026-06-04T02:39:10.0324085Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0324265Z               "line": 305
2026-06-04T02:39:10.0324415Z             },
2026-06-04T02:39:10.0324568Z             {
2026-06-04T02:39:10.0324818Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0324983Z               "line": 362
2026-06-04T02:39:10.0325136Z             },
2026-06-04T02:39:10.0325283Z             {
2026-06-04T02:39:10.0325538Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0325700Z               "line": 420
2026-06-04T02:39:10.0325854Z             },
2026-06-04T02:39:10.0326007Z             {
2026-06-04T02:39:10.0326233Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0326592Z               "line": 87
2026-06-04T02:39:10.0326741Z             },
2026-06-04T02:39:10.0326902Z             {
2026-06-04T02:39:10.0327262Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0327438Z               "line": 216
2026-06-04T02:39:10.0327592Z             },
2026-06-04T02:39:10.0327740Z             {
2026-06-04T02:39:10.0327994Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T02:39:10.0328161Z               "line": 132
2026-06-04T02:39:10.0328319Z             }
2026-06-04T02:39:10.0333742Z           ]
2026-06-04T02:39:10.0334022Z         },
2026-06-04T02:39:10.0334197Z         "int": {
2026-06-04T02:39:10.0334382Z           "complete": false,
2026-06-04T02:39:10.0334564Z           "evidence": []
2026-06-04T02:39:10.0334711Z         },
2026-06-04T02:39:10.0334874Z         "unit": {
2026-06-04T02:39:10.0335051Z           "complete": true,
2026-06-04T02:39:10.0335222Z           "evidence": [
2026-06-04T02:39:10.0335418Z             {
2026-06-04T02:39:10.0335683Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0335857Z               "line": 760
2026-06-04T02:39:10.0336016Z             },
2026-06-04T02:39:10.0336170Z             {
2026-06-04T02:39:10.0336413Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0336589Z               "line": 777
2026-06-04T02:39:10.0336744Z             },
2026-06-04T02:39:10.0336891Z             {
2026-06-04T02:39:10.0337141Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0337308Z               "line": 808
2026-06-04T02:39:10.0337464Z             },
2026-06-04T02:39:10.0337611Z             {
2026-06-04T02:39:10.0337852Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0338028Z               "line": 350
2026-06-04T02:39:10.0338176Z             },
2026-06-04T02:39:10.0338327Z             {
2026-06-04T02:39:10.0338577Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T02:39:10.0338763Z               "line": 169
2026-06-04T02:39:10.0338922Z             },
2026-06-04T02:39:10.0339072Z             {
2026-06-04T02:39:10.0339418Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T02:39:10.0339593Z               "line": 181
2026-06-04T02:39:10.0339749Z             },
2026-06-04T02:39:10.0339900Z             {
2026-06-04T02:39:10.0340154Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T02:39:10.0340328Z               "line": 198
2026-06-04T02:39:10.0340476Z             }
2026-06-04T02:39:10.0340632Z           ]
2026-06-04T02:39:10.0340776Z         }
2026-06-04T02:39:10.0340931Z       }
2026-06-04T02:39:10.0341076Z     },
2026-06-04T02:39:10.0341226Z     {
2026-06-04T02:39:10.0341404Z       "id": "REQ-INST-13",
2026-06-04T02:39:10.0341788Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-04T02:39:10.0341976Z       "requiredStages": [
2026-06-04T02:39:10.0342129Z         "impl",
2026-06-04T02:39:10.0342300Z         "unit"
2026-06-04T02:39:10.0342447Z       ],
2026-06-04T02:39:10.0342611Z       "stages": {
2026-06-04T02:39:10.0342783Z         "doc": {
2026-06-04T02:39:10.0342957Z           "complete": false,
2026-06-04T02:39:10.0343133Z           "evidence": []
2026-06-04T02:39:10.0343283Z         },
2026-06-04T02:39:10.0343445Z         "impl": {
2026-06-04T02:39:10.0343620Z           "complete": true,
2026-06-04T02:39:10.0343796Z           "evidence": [
2026-06-04T02:39:10.0343945Z             {
2026-06-04T02:39:10.0344208Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T02:39:10.0344388Z               "line": 155
2026-06-04T02:39:10.0344536Z             }
2026-06-04T02:39:10.0344690Z           ]
2026-06-04T02:39:10.0344834Z         },
2026-06-04T02:39:10.0344992Z         "int": {
2026-06-04T02:39:10.0345167Z           "complete": false,
2026-06-04T02:39:10.0345345Z           "evidence": []
2026-06-04T02:39:10.0345501Z         },
2026-06-04T02:39:10.0345944Z         "unit": {
2026-06-04T02:39:10.0346127Z           "complete": true,
2026-06-04T02:39:10.0346295Z           "evidence": [
2026-06-04T02:39:10.0346612Z             {
2026-06-04T02:39:10.0346864Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T02:39:10.0347042Z               "line": 221
2026-06-04T02:39:10.0347196Z             },
2026-06-04T02:39:10.0347342Z             {
2026-06-04T02:39:10.0347594Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-04T02:39:10.0347760Z               "line": 233
2026-06-04T02:39:10.0347916Z             }
2026-06-04T02:39:10.0348071Z           ]
2026-06-04T02:39:10.0348219Z         }
2026-06-04T02:39:10.0348368Z       }
2026-06-04T02:39:10.0348510Z     },
2026-06-04T02:39:10.0348663Z     {
2026-06-04T02:39:10.0348837Z       "id": "REQ-INST-14",
2026-06-04T02:39:10.0349667Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-04T02:39:10.0349879Z       "requiredStages": [],
2026-06-04T02:39:10.0350034Z       "stages": {
2026-06-04T02:39:10.0350193Z         "doc": {
2026-06-04T02:39:10.0350384Z           "complete": false,
2026-06-04T02:39:10.0350561Z           "evidence": []
2026-06-04T02:39:10.0350716Z         },
2026-06-04T02:39:10.0350877Z         "impl": {
2026-06-04T02:39:10.0351067Z           "complete": false,
2026-06-04T02:39:10.0351237Z           "evidence": []
2026-06-04T02:39:10.0351392Z         },
2026-06-04T02:39:10.0351542Z         "int": {
2026-06-04T02:39:10.0351728Z           "complete": false,
2026-06-04T02:39:10.0351894Z           "evidence": []
2026-06-04T02:39:10.0352048Z         },
2026-06-04T02:39:10.0352212Z         "unit": {
2026-06-04T02:39:10.0352388Z           "complete": false,
2026-06-04T02:39:10.0352560Z           "evidence": []
2026-06-04T02:39:10.0352713Z         }
2026-06-04T02:39:10.0352870Z       }
2026-06-04T02:39:10.0353016Z     },
2026-06-04T02:39:10.0353169Z     {
2026-06-04T02:39:10.0353363Z       "id": "REQ-INST-15",
2026-06-04T02:39:10.0354852Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-04T02:39:10.0355060Z       "requiredStages": [],
2026-06-04T02:39:10.0355218Z       "stages": {
2026-06-04T02:39:10.0355385Z         "doc": {
2026-06-04T02:39:10.0355566Z           "complete": false,
2026-06-04T02:39:10.0355747Z           "evidence": []
2026-06-04T02:39:10.0355902Z         },
2026-06-04T02:39:10.0356064Z         "impl": {
2026-06-04T02:39:10.0356249Z           "complete": false,
2026-06-04T02:39:10.0356416Z           "evidence": []
2026-06-04T02:39:10.0356576Z         },
2026-06-04T02:39:10.0356729Z         "int": {
2026-06-04T02:39:10.0356915Z           "complete": false,
2026-06-04T02:39:10.0357094Z           "evidence": []
2026-06-04T02:39:10.0357256Z         },
2026-06-04T02:39:10.0357416Z         "unit": {
2026-06-04T02:39:10.0357592Z           "complete": false,
2026-06-04T02:39:10.0357762Z           "evidence": []
2026-06-04T02:39:10.0357923Z         }
2026-06-04T02:39:10.0358076Z       }
2026-06-04T02:39:10.0358228Z     },
2026-06-04T02:39:10.0358369Z     {
2026-06-04T02:39:10.0358543Z       "id": "REQ-INST-2",
2026-06-04T02:39:10.0358788Z       "title": "Per-node files, synced Psyche mind",
2026-06-04T02:39:10.0358979Z       "requiredStages": [],
2026-06-04T02:39:10.0359135Z       "stages": {
2026-06-04T02:39:10.0359346Z         "doc": {
2026-06-04T02:39:10.0359536Z           "complete": false,
2026-06-04T02:39:10.0359703Z           "evidence": []
2026-06-04T02:39:10.0359855Z         },
2026-06-04T02:39:10.0360013Z         "impl": {
2026-06-04T02:39:10.0360199Z           "complete": false,
2026-06-04T02:39:10.0360369Z           "evidence": []
2026-06-04T02:39:10.0360527Z         },
2026-06-04T02:39:10.0360691Z         "int": {
2026-06-04T02:39:10.0361042Z           "complete": false,
2026-06-04T02:39:10.0361222Z           "evidence": []
2026-06-04T02:39:10.0361369Z         },
2026-06-04T02:39:10.0361663Z         "unit": {
2026-06-04T02:39:10.0361839Z           "complete": false,
2026-06-04T02:39:10.0362010Z           "evidence": []
2026-06-04T02:39:10.0362165Z         }
2026-06-04T02:39:10.0362313Z       }
2026-06-04T02:39:10.0362466Z     },
2026-06-04T02:39:10.0362606Z     {
2026-06-04T02:39:10.0362780Z       "id": "REQ-INST-3",
2026-06-04T02:39:10.0363078Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-04T02:39:10.0363270Z       "requiredStages": [],
2026-06-04T02:39:10.0363434Z       "stages": {
2026-06-04T02:39:10.0363586Z         "doc": {
2026-06-04T02:39:10.0363768Z           "complete": false,
2026-06-04T02:39:10.0363935Z           "evidence": []
2026-06-04T02:39:10.0364093Z         },
2026-06-04T02:39:10.0364248Z         "impl": {
2026-06-04T02:39:10.0364432Z           "complete": false,
2026-06-04T02:39:10.0364623Z           "evidence": []
2026-06-04T02:39:10.0370075Z         },
2026-06-04T02:39:10.0370368Z         "int": {
2026-06-04T02:39:10.0370558Z           "complete": false,
2026-06-04T02:39:10.0370771Z           "evidence": []
2026-06-04T02:39:10.0370920Z         },
2026-06-04T02:39:10.0371080Z         "unit": {
2026-06-04T02:39:10.0371265Z           "complete": false,
2026-06-04T02:39:10.0371439Z           "evidence": []
2026-06-04T02:39:10.0371591Z         }
2026-06-04T02:39:10.0371736Z       }
2026-06-04T02:39:10.0371891Z     },
2026-06-04T02:39:10.0372034Z     {
2026-06-04T02:39:10.0372218Z       "id": "REQ-INST-4",
2026-06-04T02:39:10.0372585Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-04T02:39:10.0372769Z       "requiredStages": [],
2026-06-04T02:39:10.0372930Z       "stages": {
2026-06-04T02:39:10.0373081Z         "doc": {
2026-06-04T02:39:10.0373266Z           "complete": false,
2026-06-04T02:39:10.0373433Z           "evidence": []
2026-06-04T02:39:10.0373598Z         },
2026-06-04T02:39:10.0373760Z         "impl": {
2026-06-04T02:39:10.0373936Z           "complete": false,
2026-06-04T02:39:10.0374113Z           "evidence": []
2026-06-04T02:39:10.0374277Z         },
2026-06-04T02:39:10.0374437Z         "int": {
2026-06-04T02:39:10.0374609Z           "complete": false,
2026-06-04T02:39:10.0374784Z           "evidence": []
2026-06-04T02:39:10.0374939Z         },
2026-06-04T02:39:10.0375093Z         "unit": {
2026-06-04T02:39:10.0375274Z           "complete": false,
2026-06-04T02:39:10.0375437Z           "evidence": []
2026-06-04T02:39:10.0375590Z         }
2026-06-04T02:39:10.0375734Z       }
2026-06-04T02:39:10.0375889Z     },
2026-06-04T02:39:10.0376037Z     {
2026-06-04T02:39:10.0376205Z       "id": "REQ-INST-5",
2026-06-04T02:39:10.0376578Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-04T02:39:10.0376765Z       "requiredStages": [],
2026-06-04T02:39:10.0376936Z       "stages": {
2026-06-04T02:39:10.0377089Z         "doc": {
2026-06-04T02:39:10.0377289Z           "complete": false,
2026-06-04T02:39:10.0377461Z           "evidence": []
2026-06-04T02:39:10.0377608Z         },
2026-06-04T02:39:10.0377779Z         "impl": {
2026-06-04T02:39:10.0377957Z           "complete": false,
2026-06-04T02:39:10.0378131Z           "evidence": []
2026-06-04T02:39:10.0378274Z         },
2026-06-04T02:39:10.0378434Z         "int": {
2026-06-04T02:39:10.0378614Z           "complete": false,
2026-06-04T02:39:10.0378779Z           "evidence": []
2026-06-04T02:39:10.0378934Z         },
2026-06-04T02:39:10.0379090Z         "unit": {
2026-06-04T02:39:10.0379333Z           "complete": false,
2026-06-04T02:39:10.0379503Z           "evidence": []
2026-06-04T02:39:10.0379660Z         }
2026-06-04T02:39:10.0379818Z       }
2026-06-04T02:39:10.0379966Z     },
2026-06-04T02:39:10.0380117Z     {
2026-06-04T02:39:10.0380288Z       "id": "REQ-INST-6",
2026-06-04T02:39:10.0380671Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-04T02:39:10.0381145Z       "requiredStages": [],
2026-06-04T02:39:10.0381312Z       "stages": {
2026-06-04T02:39:10.0381472Z         "doc": {
2026-06-04T02:39:10.0381791Z           "complete": false,
2026-06-04T02:39:10.0381968Z           "evidence": []
2026-06-04T02:39:10.0382119Z         },
2026-06-04T02:39:10.0382282Z         "impl": {
2026-06-04T02:39:10.0382458Z           "complete": false,
2026-06-04T02:39:10.0382635Z           "evidence": []
2026-06-04T02:39:10.0382793Z         },
2026-06-04T02:39:10.0382948Z         "int": {
2026-06-04T02:39:10.0383131Z           "complete": false,
2026-06-04T02:39:10.0383295Z           "evidence": []
2026-06-04T02:39:10.0383448Z         },
2026-06-04T02:39:10.0383600Z         "unit": {
2026-06-04T02:39:10.0383787Z           "complete": false,
2026-06-04T02:39:10.0383963Z           "evidence": []
2026-06-04T02:39:10.0384114Z         }
2026-06-04T02:39:10.0384266Z       }
2026-06-04T02:39:10.0384407Z     },
2026-06-04T02:39:10.0384556Z     {
2026-06-04T02:39:10.0384748Z       "id": "REQ-INST-7",
2026-06-04T02:39:10.0385039Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-04T02:39:10.0385222Z       "requiredStages": [
2026-06-04T02:39:10.0385386Z         "impl",
2026-06-04T02:39:10.0385548Z         "unit"
2026-06-04T02:39:10.0385699Z       ],
2026-06-04T02:39:10.0385860Z       "stages": {
2026-06-04T02:39:10.0386010Z         "doc": {
2026-06-04T02:39:10.0386195Z           "complete": false,
2026-06-04T02:39:10.0386360Z           "evidence": []
2026-06-04T02:39:10.0386519Z         },
2026-06-04T02:39:10.0386682Z         "impl": {
2026-06-04T02:39:10.0386861Z           "complete": true,
2026-06-04T02:39:10.0387036Z           "evidence": [
2026-06-04T02:39:10.0387186Z             {
2026-06-04T02:39:10.0387441Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-04T02:39:10.0387613Z               "line": 56
2026-06-04T02:39:10.0387762Z             },
2026-06-04T02:39:10.0387920Z             {
2026-06-04T02:39:10.0388166Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0388355Z               "line": 41
2026-06-04T02:39:10.0388503Z             },
2026-06-04T02:39:10.0388681Z             {
2026-06-04T02:39:10.0388945Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T02:39:10.0389115Z               "line": 27
2026-06-04T02:39:10.0389322Z             },
2026-06-04T02:39:10.0389475Z             {
2026-06-04T02:39:10.0389743Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T02:39:10.0389911Z               "line": 59
2026-06-04T02:39:10.0390070Z             },
2026-06-04T02:39:10.0390229Z             {
2026-06-04T02:39:10.0390484Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T02:39:10.0390655Z               "line": 68
2026-06-04T02:39:10.0390805Z             },
2026-06-04T02:39:10.0390963Z             {
2026-06-04T02:39:10.0391210Z               "path": "crates/spt-store/src/registry.rs",
2026-06-04T02:39:10.0391388Z               "line": 129
2026-06-04T02:39:10.0391561Z             }
2026-06-04T02:39:10.0391711Z           ]
2026-06-04T02:39:10.0391868Z         },
2026-06-04T02:39:10.0392019Z         "int": {
2026-06-04T02:39:10.0392219Z           "complete": false,
2026-06-04T02:39:10.0392387Z           "evidence": []
2026-06-04T02:39:10.0392541Z         },
2026-06-04T02:39:10.0392707Z         "unit": {
2026-06-04T02:39:10.0392885Z           "complete": true,
2026-06-04T02:39:10.0393061Z           "evidence": [
2026-06-04T02:39:10.0393208Z             {
2026-06-04T02:39:10.0393482Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-04T02:39:10.0393650Z               "line": 83
2026-06-04T02:39:10.0393808Z             },
2026-06-04T02:39:10.0393962Z             {
2026-06-04T02:39:10.0394213Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0394393Z               "line": 475
2026-06-04T02:39:10.0394548Z             },
2026-06-04T02:39:10.0394704Z             {
2026-06-04T02:39:10.0394951Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0395305Z               "line": 486
2026-06-04T02:39:10.0395467Z             },
2026-06-04T02:39:10.0395757Z             {
2026-06-04T02:39:10.0396017Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0396188Z               "line": 495
2026-06-04T02:39:10.0396345Z             },
2026-06-04T02:39:10.0396491Z             {
2026-06-04T02:39:10.0396751Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T02:39:10.0396922Z               "line": 90
2026-06-04T02:39:10.0397077Z             },
2026-06-04T02:39:10.0397232Z             {
2026-06-04T02:39:10.0397490Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T02:39:10.0397664Z               "line": 105
2026-06-04T02:39:10.0397812Z             },
2026-06-04T02:39:10.0397966Z             {
2026-06-04T02:39:10.0398227Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-04T02:39:10.0398393Z               "line": 131
2026-06-04T02:39:10.0398568Z             }
2026-06-04T02:39:10.0398717Z           ]
2026-06-04T02:39:10.0398875Z         }
2026-06-04T02:39:10.0399038Z       }
2026-06-04T02:39:10.0399232Z     },
2026-06-04T02:39:10.0399389Z     {
2026-06-04T02:39:10.0399560Z       "id": "REQ-INST-8",
2026-06-04T02:39:10.0405051Z       "title": "Remote-control mode distinct from local operation",
2026-06-04T02:39:10.0405367Z       "requiredStages": [],
2026-06-04T02:39:10.0405543Z       "stages": {
2026-06-04T02:39:10.0405699Z         "doc": {
2026-06-04T02:39:10.0405897Z           "complete": false,
2026-06-04T02:39:10.0406074Z           "evidence": []
2026-06-04T02:39:10.0406225Z         },
2026-06-04T02:39:10.0406393Z         "impl": {
2026-06-04T02:39:10.0406571Z           "complete": false,
2026-06-04T02:39:10.0406746Z           "evidence": []
2026-06-04T02:39:10.0406898Z         },
2026-06-04T02:39:10.0407068Z         "int": {
2026-06-04T02:39:10.0407257Z           "complete": false,
2026-06-04T02:39:10.0407473Z           "evidence": []
2026-06-04T02:39:10.0407631Z         },
2026-06-04T02:39:10.0407786Z         "unit": {
2026-06-04T02:39:10.0407970Z           "complete": false,
2026-06-04T02:39:10.0408150Z           "evidence": []
2026-06-04T02:39:10.0408305Z         }
2026-06-04T02:39:10.0408457Z       }
2026-06-04T02:39:10.0408601Z     },
2026-06-04T02:39:10.0408755Z     {
2026-06-04T02:39:10.0408934Z       "id": "REQ-INST-9",
2026-06-04T02:39:10.0409548Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-04T02:39:10.0409756Z       "requiredStages": [
2026-06-04T02:39:10.0409918Z         "impl",
2026-06-04T02:39:10.0410081Z         "unit"
2026-06-04T02:39:10.0410229Z       ],
2026-06-04T02:39:10.0410398Z       "stages": {
2026-06-04T02:39:10.0410553Z         "doc": {
2026-06-04T02:39:10.0410741Z           "complete": false,
2026-06-04T02:39:10.0410914Z           "evidence": []
2026-06-04T02:39:10.0411074Z         },
2026-06-04T02:39:10.0411239Z         "impl": {
2026-06-04T02:39:10.0411441Z           "complete": true,
2026-06-04T02:39:10.0411620Z           "evidence": [
2026-06-04T02:39:10.0411771Z             {
2026-06-04T02:39:10.0412044Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0412217Z               "line": 191
2026-06-04T02:39:10.0412375Z             }
2026-06-04T02:39:10.0412530Z           ]
2026-06-04T02:39:10.0412680Z         },
2026-06-04T02:39:10.0412840Z         "int": {
2026-06-04T02:39:10.0413020Z           "complete": false,
2026-06-04T02:39:10.0413195Z           "evidence": []
2026-06-04T02:39:10.0413341Z         },
2026-06-04T02:39:10.0413505Z         "unit": {
2026-06-04T02:39:10.0413691Z           "complete": true,
2026-06-04T02:39:10.0413858Z           "evidence": [
2026-06-04T02:39:10.0414016Z             {
2026-06-04T02:39:10.0414264Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0414443Z               "line": 626
2026-06-04T02:39:10.0414593Z             },
2026-06-04T02:39:10.0415054Z             {
2026-06-04T02:39:10.0415312Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0415490Z               "line": 635
2026-06-04T02:39:10.0415846Z             },
2026-06-04T02:39:10.0415998Z             {
2026-06-04T02:39:10.0416259Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0416431Z               "line": 649
2026-06-04T02:39:10.0416593Z             },
2026-06-04T02:39:10.0416751Z             {
2026-06-04T02:39:10.0416997Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0417179Z               "line": 659
2026-06-04T02:39:10.0417338Z             },
2026-06-04T02:39:10.0417503Z             {
2026-06-04T02:39:10.0417749Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-04T02:39:10.0417924Z               "line": 678
2026-06-04T02:39:10.0418088Z             }
2026-06-04T02:39:10.0418238Z           ]
2026-06-04T02:39:10.0418392Z         }
2026-06-04T02:39:10.0418541Z       }
2026-06-04T02:39:10.0418712Z     },
2026-06-04T02:39:10.0418856Z     {
2026-06-04T02:39:10.0419045Z       "id": "REQ-INSTALL-1",
2026-06-04T02:39:10.0419509Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-04T02:39:10.0419715Z       "requiredStages": [],
2026-06-04T02:39:10.0419885Z       "stages": {
2026-06-04T02:39:10.0420044Z         "doc": {
2026-06-04T02:39:10.0420229Z           "complete": false,
2026-06-04T02:39:10.0420394Z           "evidence": []
2026-06-04T02:39:10.0420550Z         },
2026-06-04T02:39:10.0420717Z         "impl": {
2026-06-04T02:39:10.0420890Z           "complete": false,
2026-06-04T02:39:10.0421064Z           "evidence": []
2026-06-04T02:39:10.0421219Z         },
2026-06-04T02:39:10.0421380Z         "int": {
2026-06-04T02:39:10.0421559Z           "complete": false,
2026-06-04T02:39:10.0421735Z           "evidence": []
2026-06-04T02:39:10.0421899Z         },
2026-06-04T02:39:10.0422058Z         "unit": {
2026-06-04T02:39:10.0422244Z           "complete": false,
2026-06-04T02:39:10.0422425Z           "evidence": []
2026-06-04T02:39:10.0422593Z         }
2026-06-04T02:39:10.0422739Z       }
2026-06-04T02:39:10.0422912Z     },
2026-06-04T02:39:10.0423065Z     {
2026-06-04T02:39:10.0423245Z       "id": "REQ-INSTALL-2",
2026-06-04T02:39:10.0423538Z       "title": "Marketplace-repackaging-friendly install",
2026-06-04T02:39:10.0423722Z       "requiredStages": [],
2026-06-04T02:39:10.0423891Z       "stages": {
2026-06-04T02:39:10.0424051Z         "doc": {
2026-06-04T02:39:10.0424235Z           "complete": false,
2026-06-04T02:39:10.0424418Z           "evidence": []
2026-06-04T02:39:10.0424577Z         },
2026-06-04T02:39:10.0424739Z         "impl": {
2026-06-04T02:39:10.0424912Z           "complete": false,
2026-06-04T02:39:10.0425090Z           "evidence": []
2026-06-04T02:39:10.0425237Z         },
2026-06-04T02:39:10.0425403Z         "int": {
2026-06-04T02:39:10.0425591Z           "complete": false,
2026-06-04T02:39:10.0425762Z           "evidence": []
2026-06-04T02:39:10.0425937Z         },
2026-06-04T02:39:10.0426094Z         "unit": {
2026-06-04T02:39:10.0426283Z           "complete": false,
2026-06-04T02:39:10.0426463Z           "evidence": []
2026-06-04T02:39:10.0426630Z         }
2026-06-04T02:39:10.0426787Z       }
2026-06-04T02:39:10.0426934Z     },
2026-06-04T02:39:10.0427088Z     {
2026-06-04T02:39:10.0427269Z       "id": "REQ-INSTALL-3",
2026-06-04T02:39:10.0427573Z       "title": "Idempotent + interactive-optional first run",
2026-06-04T02:39:10.0427761Z       "requiredStages": [],
2026-06-04T02:39:10.0427924Z       "stages": {
2026-06-04T02:39:10.0428083Z         "doc": {
2026-06-04T02:39:10.0428261Z           "complete": false,
2026-06-04T02:39:10.0428439Z           "evidence": []
2026-06-04T02:39:10.0428587Z         },
2026-06-04T02:39:10.0428756Z         "impl": {
2026-06-04T02:39:10.0428934Z           "complete": false,
2026-06-04T02:39:10.0429112Z           "evidence": []
2026-06-04T02:39:10.0429314Z         },
2026-06-04T02:39:10.0429472Z         "int": {
2026-06-04T02:39:10.0429831Z           "complete": false,
2026-06-04T02:39:10.0430007Z           "evidence": []
2026-06-04T02:39:10.0430167Z         },
2026-06-04T02:39:10.0430465Z         "unit": {
2026-06-04T02:39:10.0430667Z           "complete": false,
2026-06-04T02:39:10.0430845Z           "evidence": []
2026-06-04T02:39:10.0430996Z         }
2026-06-04T02:39:10.0431154Z       }
2026-06-04T02:39:10.0431302Z     },
2026-06-04T02:39:10.0431453Z     {
2026-06-04T02:39:10.0431629Z       "id": "REQ-INSTALL-4",
2026-06-04T02:39:10.0432983Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-04T02:39:10.0433183Z       "requiredStages": [],
2026-06-04T02:39:10.0433338Z       "stages": {
2026-06-04T02:39:10.0433506Z         "doc": {
2026-06-04T02:39:10.0433684Z           "complete": false,
2026-06-04T02:39:10.0433884Z           "evidence": []
2026-06-04T02:39:10.0434045Z         },
2026-06-04T02:39:10.0434201Z         "impl": {
2026-06-04T02:39:10.0434383Z           "complete": false,
2026-06-04T02:39:10.0434563Z           "evidence": []
2026-06-04T02:39:10.0434720Z         },
2026-06-04T02:39:10.0434878Z         "int": {
2026-06-04T02:39:10.0435062Z           "complete": false,
2026-06-04T02:39:10.0435240Z           "evidence": []
2026-06-04T02:39:10.0435410Z         },
2026-06-04T02:39:10.0435575Z         "unit": {
2026-06-04T02:39:10.0435749Z           "complete": false,
2026-06-04T02:39:10.0435922Z           "evidence": []
2026-06-04T02:39:10.0436070Z         }
2026-06-04T02:39:10.0443544Z       }
2026-06-04T02:39:10.0443877Z     },
2026-06-04T02:39:10.0444048Z     {
2026-06-04T02:39:10.0444257Z       "id": "REQ-MANIFEST-1",
2026-06-04T02:39:10.0444665Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-04T02:39:10.0444856Z       "requiredStages": [
2026-06-04T02:39:10.0445062Z         "doc",
2026-06-04T02:39:10.0445227Z         "impl",
2026-06-04T02:39:10.0445379Z         "unit"
2026-06-04T02:39:10.0445539Z       ],
2026-06-04T02:39:10.0445721Z       "stages": {
2026-06-04T02:39:10.0445877Z         "doc": {
2026-06-04T02:39:10.0446062Z           "complete": true,
2026-06-04T02:39:10.0446227Z           "evidence": [
2026-06-04T02:39:10.0446388Z             {
2026-06-04T02:39:10.0446584Z               "path": "docs/MANIFEST.md",
2026-06-04T02:39:10.0446759Z               "line": 19
2026-06-04T02:39:10.0446917Z             }
2026-06-04T02:39:10.0447067Z           ]
2026-06-04T02:39:10.0447220Z         },
2026-06-04T02:39:10.0447380Z         "impl": {
2026-06-04T02:39:10.0447565Z           "complete": true,
2026-06-04T02:39:10.0447731Z           "evidence": [
2026-06-04T02:39:10.0447886Z             {
2026-06-04T02:39:10.0448146Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.0448310Z               "line": 18
2026-06-04T02:39:10.0448469Z             }
2026-06-04T02:39:10.0448632Z           ]
2026-06-04T02:39:10.0448789Z         },
2026-06-04T02:39:10.0448942Z         "int": {
2026-06-04T02:39:10.0449142Z           "complete": false,
2026-06-04T02:39:10.0449468Z           "evidence": []
2026-06-04T02:39:10.0449629Z         },
2026-06-04T02:39:10.0449824Z         "unit": {
2026-06-04T02:39:10.0450025Z           "complete": true,
2026-06-04T02:39:10.0450199Z           "evidence": [
2026-06-04T02:39:10.0450347Z             {
2026-06-04T02:39:10.0450611Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.0450790Z               "line": 695
2026-06-04T02:39:10.0450941Z             },
2026-06-04T02:39:10.0451103Z             {
2026-06-04T02:39:10.0451350Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.0451531Z               "line": 791
2026-06-04T02:39:10.0451683Z             },
2026-06-04T02:39:10.0451836Z             {
2026-06-04T02:39:10.0452088Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.0452562Z               "line": 803
2026-06-04T02:39:10.0452725Z             },
2026-06-04T02:39:10.0452876Z             {
2026-06-04T02:39:10.0453277Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.0453458Z               "line": 811
2026-06-04T02:39:10.0453612Z             },
2026-06-04T02:39:10.0453775Z             {
2026-06-04T02:39:10.0454019Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.0454201Z               "line": 828
2026-06-04T02:39:10.0454355Z             },
2026-06-04T02:39:10.0454513Z             {
2026-06-04T02:39:10.0454764Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.0454935Z               "line": 842
2026-06-04T02:39:10.0455095Z             },
2026-06-04T02:39:10.0455243Z             {
2026-06-04T02:39:10.0455499Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.0455668Z               "line": 857
2026-06-04T02:39:10.0455829Z             },
2026-06-04T02:39:10.0456005Z             {
2026-06-04T02:39:10.0456252Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.0456441Z               "line": 872
2026-06-04T02:39:10.0456595Z             },
2026-06-04T02:39:10.0456753Z             {
2026-06-04T02:39:10.0456997Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.0457174Z               "line": 887
2026-06-04T02:39:10.0457332Z             },
2026-06-04T02:39:10.0457482Z             {
2026-06-04T02:39:10.0457729Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.0457895Z               "line": 898
2026-06-04T02:39:10.0458051Z             }
2026-06-04T02:39:10.0458203Z           ]
2026-06-04T02:39:10.0458361Z         }
2026-06-04T02:39:10.0458516Z       }
2026-06-04T02:39:10.0458663Z     },
2026-06-04T02:39:10.0458815Z     {
2026-06-04T02:39:10.0458996Z       "id": "REQ-MIGRATE-1",
2026-06-04T02:39:10.0459427Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-04T02:39:10.0459637Z       "requiredStages": [],
2026-06-04T02:39:10.0459808Z       "stages": {
2026-06-04T02:39:10.0459990Z         "doc": {
2026-06-04T02:39:10.0460169Z           "complete": false,
2026-06-04T02:39:10.0460346Z           "evidence": []
2026-06-04T02:39:10.0460495Z         },
2026-06-04T02:39:10.0460659Z         "impl": {
2026-06-04T02:39:10.0460836Z           "complete": false,
2026-06-04T02:39:10.0461017Z           "evidence": []
2026-06-04T02:39:10.0461177Z         },
2026-06-04T02:39:10.0461331Z         "int": {
2026-06-04T02:39:10.0461514Z           "complete": false,
2026-06-04T02:39:10.0461685Z           "evidence": []
2026-06-04T02:39:10.0461841Z         },
2026-06-04T02:39:10.0461997Z         "unit": {
2026-06-04T02:39:10.0462181Z           "complete": false,
2026-06-04T02:39:10.0462355Z           "evidence": []
2026-06-04T02:39:10.0462506Z         }
2026-06-04T02:39:10.0462656Z       }
2026-06-04T02:39:10.0462802Z     },
2026-06-04T02:39:10.0462973Z     {
2026-06-04T02:39:10.0463166Z       "id": "REQ-MSG-1",
2026-06-04T02:39:10.0464104Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-04T02:39:10.0464317Z       "requiredStages": [
2026-06-04T02:39:10.0464475Z         "impl",
2026-06-04T02:39:10.0464640Z         "unit",
2026-06-04T02:39:10.0464791Z         "int"
2026-06-04T02:39:10.0464950Z       ],
2026-06-04T02:39:10.0465110Z       "stages": {
2026-06-04T02:39:10.0465275Z         "doc": {
2026-06-04T02:39:10.0465462Z           "complete": false,
2026-06-04T02:39:10.0465633Z           "evidence": []
2026-06-04T02:39:10.0465793Z         },
2026-06-04T02:39:10.0465955Z         "impl": {
2026-06-04T02:39:10.0466142Z           "complete": true,
2026-06-04T02:39:10.0466312Z           "evidence": [
2026-06-04T02:39:10.0466472Z             {
2026-06-04T02:39:10.0466715Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T02:39:10.0467064Z               "line": 28
2026-06-04T02:39:10.0467226Z             },
2026-06-04T02:39:10.0467379Z             {
2026-06-04T02:39:10.0467740Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T02:39:10.0467911Z               "line": 94
2026-06-04T02:39:10.0468077Z             },
2026-06-04T02:39:10.0468237Z             {
2026-06-04T02:39:10.0468470Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T02:39:10.0468651Z               "line": 127
2026-06-04T02:39:10.0468805Z             },
2026-06-04T02:39:10.0468962Z             {
2026-06-04T02:39:10.0469242Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T02:39:10.0469428Z               "line": 149
2026-06-04T02:39:10.0469585Z             },
2026-06-04T02:39:10.0469734Z             {
2026-06-04T02:39:10.0469977Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T02:39:10.0470145Z               "line": 174
2026-06-04T02:39:10.0470313Z             },
2026-06-04T02:39:10.0470487Z             {
2026-06-04T02:39:10.0470724Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T02:39:10.0470900Z               "line": 18
2026-06-04T02:39:10.0471064Z             },
2026-06-04T02:39:10.0471222Z             {
2026-06-04T02:39:10.0471441Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T02:39:10.0471612Z               "line": 13
2026-06-04T02:39:10.0471773Z             },
2026-06-04T02:39:10.0471922Z             {
2026-06-04T02:39:10.0472151Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T02:39:10.0472316Z               "line": 61
2026-06-04T02:39:10.0472473Z             },
2026-06-04T02:39:10.0472622Z             {
2026-06-04T02:39:10.0472846Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T02:39:10.0473018Z               "line": 10
2026-06-04T02:39:10.0473169Z             }
2026-06-04T02:39:10.0473331Z           ]
2026-06-04T02:39:10.0473480Z         },
2026-06-04T02:39:10.0473643Z         "int": {
2026-06-04T02:39:10.0473831Z           "complete": true,
2026-06-04T02:39:10.0474009Z           "evidence": [
2026-06-04T02:39:10.0474164Z             {
2026-06-04T02:39:10.0474469Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T02:39:10.0480734Z               "line": 9
2026-06-04T02:39:10.0481011Z             },
2026-06-04T02:39:10.0481174Z             {
2026-06-04T02:39:10.0481473Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T02:39:10.0481660Z               "line": 66
2026-06-04T02:39:10.0481818Z             },
2026-06-04T02:39:10.0481970Z             {
2026-06-04T02:39:10.0482255Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T02:39:10.0482427Z               "line": 116
2026-06-04T02:39:10.0482588Z             }
2026-06-04T02:39:10.0482739Z           ]
2026-06-04T02:39:10.0482900Z         },
2026-06-04T02:39:10.0483064Z         "unit": {
2026-06-04T02:39:10.0483248Z           "complete": true,
2026-06-04T02:39:10.0483423Z           "evidence": [
2026-06-04T02:39:10.0483608Z             {
2026-06-04T02:39:10.0483848Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T02:39:10.0484034Z               "line": 203
2026-06-04T02:39:10.0484196Z             },
2026-06-04T02:39:10.0484351Z             {
2026-06-04T02:39:10.0484581Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T02:39:10.0484757Z               "line": 232
2026-06-04T02:39:10.0484908Z             },
2026-06-04T02:39:10.0485063Z             {
2026-06-04T02:39:10.0485287Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T02:39:10.0485464Z               "line": 277
2026-06-04T02:39:10.0485622Z             },
2026-06-04T02:39:10.0485773Z             {
2026-06-04T02:39:10.0486006Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T02:39:10.0486183Z               "line": 300
2026-06-04T02:39:10.0486349Z             },
2026-06-04T02:39:10.0486503Z             {
2026-06-04T02:39:10.0486740Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-04T02:39:10.0487189Z               "line": 322
2026-06-04T02:39:10.0487343Z             },
2026-06-04T02:39:10.0487499Z             {
2026-06-04T02:39:10.0487871Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T02:39:10.0488053Z               "line": 203
2026-06-04T02:39:10.0488203Z             },
2026-06-04T02:39:10.0488368Z             {
2026-06-04T02:39:10.0488604Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T02:39:10.0488777Z               "line": 233
2026-06-04T02:39:10.0488933Z             },
2026-06-04T02:39:10.0489087Z             {
2026-06-04T02:39:10.0489378Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T02:39:10.0489561Z               "line": 247
2026-06-04T02:39:10.0489737Z             },
2026-06-04T02:39:10.0489919Z             {
2026-06-04T02:39:10.0490155Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T02:39:10.0490332Z               "line": 259
2026-06-04T02:39:10.0490482Z             },
2026-06-04T02:39:10.0490664Z             {
2026-06-04T02:39:10.0490897Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T02:39:10.0491067Z               "line": 158
2026-06-04T02:39:10.0491238Z             },
2026-06-04T02:39:10.0491388Z             {
2026-06-04T02:39:10.0491622Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-04T02:39:10.0491793Z               "line": 235
2026-06-04T02:39:10.0491955Z             },
2026-06-04T02:39:10.0492110Z             {
2026-06-04T02:39:10.0492326Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T02:39:10.0492502Z               "line": 68
2026-06-04T02:39:10.0492651Z             },
2026-06-04T02:39:10.0492808Z             {
2026-06-04T02:39:10.0493034Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T02:39:10.0493208Z               "line": 74
2026-06-04T02:39:10.0493363Z             },
2026-06-04T02:39:10.0493511Z             {
2026-06-04T02:39:10.0493739Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T02:39:10.0493917Z               "line": 80
2026-06-04T02:39:10.0494075Z             },
2026-06-04T02:39:10.0494225Z             {
2026-06-04T02:39:10.0494462Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-04T02:39:10.0494637Z               "line": 99
2026-06-04T02:39:10.0494788Z             }
2026-06-04T02:39:10.0494944Z           ]
2026-06-04T02:39:10.0495093Z         }
2026-06-04T02:39:10.0495246Z       }
2026-06-04T02:39:10.0495392Z     },
2026-06-04T02:39:10.0495542Z     {
2026-06-04T02:39:10.0495719Z       "id": "REQ-MSG-2",
2026-06-04T02:39:10.0496284Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-04T02:39:10.0496483Z       "requiredStages": [
2026-06-04T02:39:10.0496635Z         "impl",
2026-06-04T02:39:10.0496795Z         "unit"
2026-06-04T02:39:10.0496948Z       ],
2026-06-04T02:39:10.0497112Z       "stages": {
2026-06-04T02:39:10.0497275Z         "doc": {
2026-06-04T02:39:10.0497466Z           "complete": false,
2026-06-04T02:39:10.0497662Z           "evidence": []
2026-06-04T02:39:10.0497810Z         },
2026-06-04T02:39:10.0497981Z         "impl": {
2026-06-04T02:39:10.0498171Z           "complete": true,
2026-06-04T02:39:10.0498346Z           "evidence": [
2026-06-04T02:39:10.0498504Z             {
2026-06-04T02:39:10.0498717Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0498889Z               "line": 11
2026-06-04T02:39:10.0499041Z             },
2026-06-04T02:39:10.0499309Z             {
2026-06-04T02:39:10.0499535Z               "path": "crates/spt/src/main.rs",
2026-06-04T02:39:10.0499721Z               "line": 8
2026-06-04T02:39:10.0499879Z             }
2026-06-04T02:39:10.0500030Z           ]
2026-06-04T02:39:10.0500187Z         },
2026-06-04T02:39:10.0500344Z         "int": {
2026-06-04T02:39:10.0500537Z           "complete": false,
2026-06-04T02:39:10.0500709Z           "evidence": []
2026-06-04T02:39:10.0500866Z         },
2026-06-04T02:39:10.0501038Z         "unit": {
2026-06-04T02:39:10.0501390Z           "complete": true,
2026-06-04T02:39:10.0501567Z           "evidence": [
2026-06-04T02:39:10.0501721Z             {
2026-06-04T02:39:10.0502117Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0502296Z               "line": 622
2026-06-04T02:39:10.0502455Z             },
2026-06-04T02:39:10.0502612Z             {
2026-06-04T02:39:10.0502822Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0503003Z               "line": 659
2026-06-04T02:39:10.0503151Z             },
2026-06-04T02:39:10.0503315Z             {
2026-06-04T02:39:10.0503524Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0503704Z               "line": 668
2026-06-04T02:39:10.0503867Z             },
2026-06-04T02:39:10.0504017Z             {
2026-06-04T02:39:10.0504231Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0504401Z               "line": 680
2026-06-04T02:39:10.0504563Z             }
2026-06-04T02:39:10.0504716Z           ]
2026-06-04T02:39:10.0504890Z         }
2026-06-04T02:39:10.0505048Z       }
2026-06-04T02:39:10.0505194Z     },
2026-06-04T02:39:10.0505346Z     {
2026-06-04T02:39:10.0505528Z       "id": "REQ-MSG-3",
2026-06-04T02:39:10.0506357Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-04T02:39:10.0506549Z       "requiredStages": [
2026-06-04T02:39:10.0506714Z         "impl",
2026-06-04T02:39:10.0506880Z         "unit",
2026-06-04T02:39:10.0507034Z         "int"
2026-06-04T02:39:10.0507196Z       ],
2026-06-04T02:39:10.0507354Z       "stages": {
2026-06-04T02:39:10.0507522Z         "doc": {
2026-06-04T02:39:10.0507705Z           "complete": false,
2026-06-04T02:39:10.0507889Z           "evidence": []
2026-06-04T02:39:10.0508047Z         },
2026-06-04T02:39:10.0508200Z         "impl": {
2026-06-04T02:39:10.0508385Z           "complete": true,
2026-06-04T02:39:10.0508549Z           "evidence": [
2026-06-04T02:39:10.0508730Z             {
2026-06-04T02:39:10.0508971Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-04T02:39:10.0509149Z               "line": 19
2026-06-04T02:39:10.0509385Z             },
2026-06-04T02:39:10.0509538Z             {
2026-06-04T02:39:10.0509777Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T02:39:10.0509945Z               "line": 21
2026-06-04T02:39:10.0510105Z             },
2026-06-04T02:39:10.0510254Z             {
2026-06-04T02:39:10.0510487Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T02:39:10.0510659Z               "line": 48
2026-06-04T02:39:10.0510808Z             },
2026-06-04T02:39:10.0510964Z             {
2026-06-04T02:39:10.0511184Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T02:39:10.0511362Z               "line": 106
2026-06-04T02:39:10.0517121Z             }
2026-06-04T02:39:10.0517452Z           ]
2026-06-04T02:39:10.0517617Z         },
2026-06-04T02:39:10.0517777Z         "int": {
2026-06-04T02:39:10.0518011Z           "complete": true,
2026-06-04T02:39:10.0518173Z           "evidence": [
2026-06-04T02:39:10.0518331Z             {
2026-06-04T02:39:10.0518623Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T02:39:10.0518813Z               "line": 10
2026-06-04T02:39:10.0518979Z             },
2026-06-04T02:39:10.0519129Z             {
2026-06-04T02:39:10.0519523Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-04T02:39:10.0519700Z               "line": 66
2026-06-04T02:39:10.0519859Z             }
2026-06-04T02:39:10.0520011Z           ]
2026-06-04T02:39:10.0520170Z         },
2026-06-04T02:39:10.0520331Z         "unit": {
2026-06-04T02:39:10.0520508Z           "complete": true,
2026-06-04T02:39:10.0520683Z           "evidence": [
2026-06-04T02:39:10.0520833Z             {
2026-06-04T02:39:10.0521068Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T02:39:10.0521237Z               "line": 160
2026-06-04T02:39:10.0521400Z             },
2026-06-04T02:39:10.0521838Z             {
2026-06-04T02:39:10.0522072Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T02:39:10.0522248Z               "line": 179
2026-06-04T02:39:10.0522526Z             },
2026-06-04T02:39:10.0522688Z             {
2026-06-04T02:39:10.0522914Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-04T02:39:10.0523097Z               "line": 198
2026-06-04T02:39:10.0523259Z             }
2026-06-04T02:39:10.0523416Z           ]
2026-06-04T02:39:10.0523573Z         }
2026-06-04T02:39:10.0523723Z       }
2026-06-04T02:39:10.0523880Z     },
2026-06-04T02:39:10.0524024Z     {
2026-06-04T02:39:10.0524202Z       "id": "REQ-NET-1",
2026-06-04T02:39:10.0524589Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-04T02:39:10.0524770Z       "requiredStages": [
2026-06-04T02:39:10.0524934Z         "impl",
2026-06-04T02:39:10.0525086Z         "unit"
2026-06-04T02:39:10.0525243Z       ],
2026-06-04T02:39:10.0525398Z       "stages": {
2026-06-04T02:39:10.0525574Z         "doc": {
2026-06-04T02:39:10.0525757Z           "complete": false,
2026-06-04T02:39:10.0525926Z           "evidence": []
2026-06-04T02:39:10.0526092Z         },
2026-06-04T02:39:10.0526251Z         "impl": {
2026-06-04T02:39:10.0526435Z           "complete": true,
2026-06-04T02:39:10.0526601Z           "evidence": [
2026-06-04T02:39:10.0526759Z             {
2026-06-04T02:39:10.0526999Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-04T02:39:10.0527166Z               "line": 61
2026-06-04T02:39:10.0527325Z             },
2026-06-04T02:39:10.0527474Z             {
2026-06-04T02:39:10.0527737Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0527904Z               "line": 65
2026-06-04T02:39:10.0528069Z             },
2026-06-04T02:39:10.0528229Z             {
2026-06-04T02:39:10.0528474Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0528656Z               "line": 122
2026-06-04T02:39:10.0528819Z             },
2026-06-04T02:39:10.0528976Z             {
2026-06-04T02:39:10.0529286Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0529477Z               "line": 138
2026-06-04T02:39:10.0529640Z             },
2026-06-04T02:39:10.0529788Z             {
2026-06-04T02:39:10.0530042Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0530213Z               "line": 153
2026-06-04T02:39:10.0530377Z             },
2026-06-04T02:39:10.0530533Z             {
2026-06-04T02:39:10.0530779Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0530952Z               "line": 207
2026-06-04T02:39:10.0531106Z             },
2026-06-04T02:39:10.0531260Z             {
2026-06-04T02:39:10.0531503Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0531680Z               "line": 242
2026-06-04T02:39:10.0531838Z             },
2026-06-04T02:39:10.0531988Z             {
2026-06-04T02:39:10.0532240Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0532424Z               "line": 248
2026-06-04T02:39:10.0532582Z             },
2026-06-04T02:39:10.0532743Z             {
2026-06-04T02:39:10.0532999Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0533182Z               "line": 254
2026-06-04T02:39:10.0533337Z             },
2026-06-04T02:39:10.0533494Z             {
2026-06-04T02:39:10.0533737Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0533914Z               "line": 270
2026-06-04T02:39:10.0534065Z             },
2026-06-04T02:39:10.0534223Z             {
2026-06-04T02:39:10.0534473Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T02:39:10.0534646Z               "line": 35
2026-06-04T02:39:10.0534807Z             },
2026-06-04T02:39:10.0534956Z             {
2026-06-04T02:39:10.0535207Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T02:39:10.0535374Z               "line": 82
2026-06-04T02:39:10.0535697Z             },
2026-06-04T02:39:10.0535853Z             {
2026-06-04T02:39:10.0536085Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:10.0536383Z               "line": 129
2026-06-04T02:39:10.0536535Z             }
2026-06-04T02:39:10.0536698Z           ]
2026-06-04T02:39:10.0536847Z         },
2026-06-04T02:39:10.0537013Z         "int": {
2026-06-04T02:39:10.0537195Z           "complete": false,
2026-06-04T02:39:10.0537364Z           "evidence": []
2026-06-04T02:39:10.0537520Z         },
2026-06-04T02:39:10.0537679Z         "unit": {
2026-06-04T02:39:10.0537866Z           "complete": true,
2026-06-04T02:39:10.0538036Z           "evidence": [
2026-06-04T02:39:10.0538198Z             {
2026-06-04T02:39:10.0538451Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-04T02:39:10.0538624Z               "line": 142
2026-06-04T02:39:10.0538783Z             },
2026-06-04T02:39:10.0538935Z             {
2026-06-04T02:39:10.0539240Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0539428Z               "line": 331
2026-06-04T02:39:10.0539596Z             },
2026-06-04T02:39:10.0539769Z             {
2026-06-04T02:39:10.0540020Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0540197Z               "line": 345
2026-06-04T02:39:10.0540346Z             },
2026-06-04T02:39:10.0540500Z             {
2026-06-04T02:39:10.0540754Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0540925Z               "line": 364
2026-06-04T02:39:10.0541088Z             },
2026-06-04T02:39:10.0541236Z             {
2026-06-04T02:39:10.0541487Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T02:39:10.0541656Z               "line": 106
2026-06-04T02:39:10.0541823Z             },
2026-06-04T02:39:10.0541985Z             {
2026-06-04T02:39:10.0542227Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-04T02:39:10.0542404Z               "line": 148
2026-06-04T02:39:10.0542573Z             },
2026-06-04T02:39:10.0542729Z             {
2026-06-04T02:39:10.0542968Z               "path": "crates/spt-store/src/spool.rs",
2026-06-04T02:39:10.0543157Z               "line": 445
2026-06-04T02:39:10.0543319Z             }
2026-06-04T02:39:10.0543467Z           ]
2026-06-04T02:39:10.0543628Z         }
2026-06-04T02:39:10.0543774Z       }
2026-06-04T02:39:10.0543929Z     },
2026-06-04T02:39:10.0544080Z     {
2026-06-04T02:39:10.0544256Z       "id": "REQ-NET-2",
2026-06-04T02:39:10.0544632Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-04T02:39:10.0544815Z       "requiredStages": [
2026-06-04T02:39:10.0544981Z         "impl"
2026-06-04T02:39:10.0545129Z       ],
2026-06-04T02:39:10.0545299Z       "stages": {
2026-06-04T02:39:10.0545452Z         "doc": {
2026-06-04T02:39:10.0545638Z           "complete": false,
2026-06-04T02:39:10.0545818Z           "evidence": []
2026-06-04T02:39:10.0545967Z         },
2026-06-04T02:39:10.0546131Z         "impl": {
2026-06-04T02:39:10.0546316Z           "complete": true,
2026-06-04T02:39:10.0546493Z           "evidence": [
2026-06-04T02:39:10.0546642Z             {
2026-06-04T02:39:10.0546900Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T02:39:10.0547073Z               "line": 40
2026-06-04T02:39:10.0547221Z             },
2026-06-04T02:39:10.0547381Z             {
2026-06-04T02:39:10.0553309Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0553620Z               "line": 39
2026-06-04T02:39:10.0553773Z             },
2026-06-04T02:39:10.0553935Z             {
2026-06-04T02:39:10.0554197Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0554361Z               "line": 49
2026-06-04T02:39:10.0554521Z             },
2026-06-04T02:39:10.0554671Z             {
2026-06-04T02:39:10.0554922Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0555096Z               "line": 122
2026-06-04T02:39:10.0555526Z             },
2026-06-04T02:39:10.0555685Z             {
2026-06-04T02:39:10.0555930Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0556246Z               "line": 138
2026-06-04T02:39:10.0556404Z             },
2026-06-04T02:39:10.0556562Z             {
2026-06-04T02:39:10.0556800Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-04T02:39:10.0556980Z               "line": 153
2026-06-04T02:39:10.0557137Z             }
2026-06-04T02:39:10.0557284Z           ]
2026-06-04T02:39:10.0557439Z         },
2026-06-04T02:39:10.0557593Z         "int": {
2026-06-04T02:39:10.0557780Z           "complete": false,
2026-06-04T02:39:10.0557946Z           "evidence": []
2026-06-04T02:39:10.0558103Z         },
2026-06-04T02:39:10.0558263Z         "unit": {
2026-06-04T02:39:10.0558438Z           "complete": true,
2026-06-04T02:39:10.0558610Z           "evidence": [
2026-06-04T02:39:10.0558759Z             {
2026-06-04T02:39:10.0559015Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T02:39:10.0559265Z               "line": 229
2026-06-04T02:39:10.0559434Z             }
2026-06-04T02:39:10.0559593Z           ]
2026-06-04T02:39:10.0559757Z         }
2026-06-04T02:39:10.0559912Z       }
2026-06-04T02:39:10.0560055Z     },
2026-06-04T02:39:10.0560205Z     {
2026-06-04T02:39:10.0560375Z       "id": "REQ-NET-3",
2026-06-04T02:39:10.0560751Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-04T02:39:10.0560948Z       "requiredStages": [],
2026-06-04T02:39:10.0561105Z       "stages": {
2026-06-04T02:39:10.0561270Z         "doc": {
2026-06-04T02:39:10.0561447Z           "complete": false,
2026-06-04T02:39:10.0561628Z           "evidence": []
2026-06-04T02:39:10.0561779Z         },
2026-06-04T02:39:10.0561943Z         "impl": {
2026-06-04T02:39:10.0562128Z           "complete": false,
2026-06-04T02:39:10.0562297Z           "evidence": []
2026-06-04T02:39:10.0562453Z         },
2026-06-04T02:39:10.0562609Z         "int": {
2026-06-04T02:39:10.0562811Z           "complete": false,
2026-06-04T02:39:10.0562984Z           "evidence": []
2026-06-04T02:39:10.0563152Z         },
2026-06-04T02:39:10.0563347Z         "unit": {
2026-06-04T02:39:10.0563535Z           "complete": false,
2026-06-04T02:39:10.0563716Z           "evidence": []
2026-06-04T02:39:10.0563869Z         }
2026-06-04T02:39:10.0564026Z       }
2026-06-04T02:39:10.0564176Z     },
2026-06-04T02:39:10.0564331Z     {
2026-06-04T02:39:10.0564528Z       "id": "REQ-NODE-IDENTITY",
2026-06-04T02:39:10.0564995Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-04T02:39:10.0565187Z       "requiredStages": [
2026-06-04T02:39:10.0565345Z         "impl",
2026-06-04T02:39:10.0565510Z         "unit"
2026-06-04T02:39:10.0565656Z       ],
2026-06-04T02:39:10.0565820Z       "stages": {
2026-06-04T02:39:10.0565982Z         "doc": {
2026-06-04T02:39:10.0566169Z           "complete": false,
2026-06-04T02:39:10.0566345Z           "evidence": []
2026-06-04T02:39:10.0566509Z         },
2026-06-04T02:39:10.0566673Z         "impl": {
2026-06-04T02:39:10.0566847Z           "complete": true,
2026-06-04T02:39:10.0567035Z           "evidence": [
2026-06-04T02:39:10.0567189Z             {
2026-06-04T02:39:10.0567444Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T02:39:10.0567617Z               "line": 60
2026-06-04T02:39:10.0567767Z             },
2026-06-04T02:39:10.0567925Z             {
2026-06-04T02:39:10.0568168Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T02:39:10.0568344Z               "line": 68
2026-06-04T02:39:10.0568502Z             },
2026-06-04T02:39:10.0568649Z             {
2026-06-04T02:39:10.0568899Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T02:39:10.0569066Z               "line": 86
2026-06-04T02:39:10.0569272Z             },
2026-06-04T02:39:10.0569431Z             {
2026-06-04T02:39:10.0569681Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T02:39:10.0570078Z               "line": 120
2026-06-04T02:39:10.0570235Z             },
2026-06-04T02:39:10.0570392Z             {
2026-06-04T02:39:10.0570637Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T02:39:10.0570995Z               "line": 127
2026-06-04T02:39:10.0571153Z             },
2026-06-04T02:39:10.0571314Z             {
2026-06-04T02:39:10.0571564Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T02:39:10.0571732Z               "line": 143
2026-06-04T02:39:10.0571895Z             },
2026-06-04T02:39:10.0572044Z             {
2026-06-04T02:39:10.0572305Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T02:39:10.0572491Z               "line": 16
2026-06-04T02:39:10.0572691Z             }
2026-06-04T02:39:10.0572856Z           ]
2026-06-04T02:39:10.0573006Z         },
2026-06-04T02:39:10.0573168Z         "int": {
2026-06-04T02:39:10.0573347Z           "complete": false,
2026-06-04T02:39:10.0573527Z           "evidence": []
2026-06-04T02:39:10.0573698Z         },
2026-06-04T02:39:10.0573869Z         "unit": {
2026-06-04T02:39:10.0574055Z           "complete": true,
2026-06-04T02:39:10.0574224Z           "evidence": [
2026-06-04T02:39:10.0574403Z             {
2026-06-04T02:39:10.0574650Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T02:39:10.0574833Z               "line": 199
2026-06-04T02:39:10.0574985Z             },
2026-06-04T02:39:10.0575144Z             {
2026-06-04T02:39:10.0575397Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T02:39:10.0575570Z               "line": 218
2026-06-04T02:39:10.0575726Z             },
2026-06-04T02:39:10.0575875Z             {
2026-06-04T02:39:10.0576127Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T02:39:10.0576306Z               "line": 232
2026-06-04T02:39:10.0576457Z             },
2026-06-04T02:39:10.0576612Z             {
2026-06-04T02:39:10.0576852Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-04T02:39:10.0577030Z               "line": 248
2026-06-04T02:39:10.0577196Z             },
2026-06-04T02:39:10.0577356Z             {
2026-06-04T02:39:10.0577597Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T02:39:10.0577773Z               "line": 107
2026-06-04T02:39:10.0577932Z             },
2026-06-04T02:39:10.0578080Z             {
2026-06-04T02:39:10.0578322Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T02:39:10.0578489Z               "line": 123
2026-06-04T02:39:10.0578653Z             },
2026-06-04T02:39:10.0578811Z             {
2026-06-04T02:39:10.0579043Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-04T02:39:10.0579271Z               "line": 135
2026-06-04T02:39:10.0579431Z             }
2026-06-04T02:39:10.0579592Z           ]
2026-06-04T02:39:10.0579740Z         }
2026-06-04T02:39:10.0579904Z       }
2026-06-04T02:39:10.0580060Z     },
2026-06-04T02:39:10.0580208Z     {
2026-06-04T02:39:10.0580387Z       "id": "REQ-NOTIF-1",
2026-06-04T02:39:10.0581140Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-04T02:39:10.0581355Z       "requiredStages": [],
2026-06-04T02:39:10.0581513Z       "stages": {
2026-06-04T02:39:10.0581677Z         "doc": {
2026-06-04T02:39:10.0581865Z           "complete": false,
2026-06-04T02:39:10.0582035Z           "evidence": []
2026-06-04T02:39:10.0582192Z         },
2026-06-04T02:39:10.0582346Z         "impl": {
2026-06-04T02:39:10.0582535Z           "complete": false,
2026-06-04T02:39:10.0582702Z           "evidence": []
2026-06-04T02:39:10.0582857Z         },
2026-06-04T02:39:10.0583020Z         "int": {
2026-06-04T02:39:10.0583196Z           "complete": false,
2026-06-04T02:39:10.0583368Z           "evidence": []
2026-06-04T02:39:10.0583519Z         },
2026-06-04T02:39:10.0583682Z         "unit": {
2026-06-04T02:39:10.0583859Z           "complete": false,
2026-06-04T02:39:10.0589686Z           "evidence": []
2026-06-04T02:39:10.0590267Z         }
2026-06-04T02:39:10.0590424Z       }
2026-06-04T02:39:10.0590579Z     },
2026-06-04T02:39:10.0590723Z     {
2026-06-04T02:39:10.0590927Z       "id": "REQ-NOTIF-2",
2026-06-04T02:39:10.0591637Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-04T02:39:10.0591838Z       "requiredStages": [],
2026-06-04T02:39:10.0592002Z       "stages": {
2026-06-04T02:39:10.0592162Z         "doc": {
2026-06-04T02:39:10.0592351Z           "complete": false,
2026-06-04T02:39:10.0592521Z           "evidence": []
2026-06-04T02:39:10.0592683Z         },
2026-06-04T02:39:10.0592843Z         "impl": {
2026-06-04T02:39:10.0593034Z           "complete": false,
2026-06-04T02:39:10.0593211Z           "evidence": []
2026-06-04T02:39:10.0593357Z         },
2026-06-04T02:39:10.0593517Z         "int": {
2026-06-04T02:39:10.0593699Z           "complete": false,
2026-06-04T02:39:10.0593876Z           "evidence": []
2026-06-04T02:39:10.0594023Z         },
2026-06-04T02:39:10.0594207Z         "unit": {
2026-06-04T02:39:10.0594391Z           "complete": false,
2026-06-04T02:39:10.0594559Z           "evidence": []
2026-06-04T02:39:10.0594725Z         }
2026-06-04T02:39:10.0594871Z       }
2026-06-04T02:39:10.0595025Z     },
2026-06-04T02:39:10.0595168Z     {
2026-06-04T02:39:10.0595356Z       "id": "REQ-PAIR-1",
2026-06-04T02:39:10.0595575Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-04T02:39:10.0595759Z       "requiredStages": [
2026-06-04T02:39:10.0595927Z         "impl",
2026-06-04T02:39:10.0596077Z         "unit"
2026-06-04T02:39:10.0596236Z       ],
2026-06-04T02:39:10.0596397Z       "stages": {
2026-06-04T02:39:10.0596560Z         "doc": {
2026-06-04T02:39:10.0596744Z           "complete": false,
2026-06-04T02:39:10.0596912Z           "evidence": []
2026-06-04T02:39:10.0597067Z         },
2026-06-04T02:39:10.0597223Z         "impl": {
2026-06-04T02:39:10.0597411Z           "complete": true,
2026-06-04T02:39:10.0597578Z           "evidence": [
2026-06-04T02:39:10.0597750Z             {
2026-06-04T02:39:10.0598030Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0598201Z               "line": 27
2026-06-04T02:39:10.0598369Z             },
2026-06-04T02:39:10.0598518Z             {
2026-06-04T02:39:10.0598798Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0598965Z               "line": 88
2026-06-04T02:39:10.0599123Z             },
2026-06-04T02:39:10.0599335Z             {
2026-06-04T02:39:10.0599601Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0599789Z               "line": 110
2026-06-04T02:39:10.0599944Z             },
2026-06-04T02:39:10.0600103Z             {
2026-06-04T02:39:10.0600368Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0600550Z               "line": 153
2026-06-04T02:39:10.0600727Z             },
2026-06-04T02:39:10.0600895Z             {
2026-06-04T02:39:10.0601196Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0601387Z               "line": 182
2026-06-04T02:39:10.0601549Z             },
2026-06-04T02:39:10.0601711Z             {
2026-06-04T02:39:10.0601983Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T02:39:10.0602165Z               "line": 29
2026-06-04T02:39:10.0602316Z             },
2026-06-04T02:39:10.0602471Z             {
2026-06-04T02:39:10.0602768Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-04T02:39:10.0602946Z               "line": 31
2026-06-04T02:39:10.0603095Z             },
2026-06-04T02:39:10.0603254Z             {
2026-06-04T02:39:10.0603522Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T02:39:10.0603690Z               "line": 40
2026-06-04T02:39:10.0603845Z             },
2026-06-04T02:39:10.0603992Z             {
2026-06-04T02:39:10.0604259Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T02:39:10.0604437Z               "line": 131
2026-06-04T02:39:10.0604798Z             },
2026-06-04T02:39:10.0604957Z             {
2026-06-04T02:39:10.0605213Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T02:39:10.0605521Z               "line": 306
2026-06-04T02:39:10.0605674Z             }
2026-06-04T02:39:10.0605834Z           ]
2026-06-04T02:39:10.0605988Z         },
2026-06-04T02:39:10.0606146Z         "int": {
2026-06-04T02:39:10.0606335Z           "complete": false,
2026-06-04T02:39:10.0606515Z           "evidence": []
2026-06-04T02:39:10.0606667Z         },
2026-06-04T02:39:10.0606823Z         "unit": {
2026-06-04T02:39:10.0607014Z           "complete": true,
2026-06-04T02:39:10.0607189Z           "evidence": [
2026-06-04T02:39:10.0607343Z             {
2026-06-04T02:39:10.0607618Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0607800Z               "line": 236
2026-06-04T02:39:10.0607957Z             },
2026-06-04T02:39:10.0608104Z             {
2026-06-04T02:39:10.0608398Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-04T02:39:10.0608580Z               "line": 349
2026-06-04T02:39:10.0608747Z             },
2026-06-04T02:39:10.0608903Z             {
2026-06-04T02:39:10.0609207Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T02:39:10.0609393Z               "line": 194
2026-06-04T02:39:10.0609542Z             },
2026-06-04T02:39:10.0609704Z             {
2026-06-04T02:39:10.0609968Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T02:39:10.0610141Z               "line": 216
2026-06-04T02:39:10.0610303Z             },
2026-06-04T02:39:10.0610450Z             {
2026-06-04T02:39:10.0610714Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T02:39:10.0610881Z               "line": 230
2026-06-04T02:39:10.0611041Z             },
2026-06-04T02:39:10.0611197Z             {
2026-06-04T02:39:10.0611456Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T02:39:10.0611649Z               "line": 242
2026-06-04T02:39:10.0611805Z             },
2026-06-04T02:39:10.0611966Z             {
2026-06-04T02:39:10.0612241Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T02:39:10.0612423Z               "line": 256
2026-06-04T02:39:10.0612578Z             },
2026-06-04T02:39:10.0612725Z             {
2026-06-04T02:39:10.0612991Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T02:39:10.0613162Z               "line": 270
2026-06-04T02:39:10.0613324Z             },
2026-06-04T02:39:10.0613477Z             {
2026-06-04T02:39:10.0613741Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T02:39:10.0613922Z               "line": 277
2026-06-04T02:39:10.0614074Z             },
2026-06-04T02:39:10.0614231Z             {
2026-06-04T02:39:10.0614488Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-04T02:39:10.0614670Z               "line": 295
2026-06-04T02:39:10.0614831Z             },
2026-06-04T02:39:10.0614994Z             {
2026-06-04T02:39:10.0615252Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T02:39:10.0615434Z               "line": 696
2026-06-04T02:39:10.0615594Z             },
2026-06-04T02:39:10.0615742Z             {
2026-06-04T02:39:10.0616004Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T02:39:10.0616183Z               "line": 757
2026-06-04T02:39:10.0616335Z             },
2026-06-04T02:39:10.0616493Z             {
2026-06-04T02:39:10.0616751Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T02:39:10.0616928Z               "line": 814
2026-06-04T02:39:10.0617078Z             },
2026-06-04T02:39:10.0617235Z             {
2026-06-04T02:39:10.0617493Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T02:39:10.0617659Z               "line": 868
2026-06-04T02:39:10.0617817Z             },
2026-06-04T02:39:10.0617966Z             {
2026-06-04T02:39:10.0618404Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T02:39:10.0618578Z               "line": 920
2026-06-04T02:39:10.0618740Z             },
2026-06-04T02:39:10.0619030Z             {
2026-06-04T02:39:10.0619330Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T02:39:10.0619521Z               "line": 1084
2026-06-04T02:39:10.0619676Z             }
2026-06-04T02:39:10.0619835Z           ]
2026-06-04T02:39:10.0619985Z         }
2026-06-04T02:39:10.0620140Z       }
2026-06-04T02:39:10.0620292Z     },
2026-06-04T02:39:10.0620437Z     {
2026-06-04T02:39:10.0620620Z       "id": "REQ-PAIR-2",
2026-06-04T02:39:10.0620901Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-04T02:39:10.0626574Z       "requiredStages": [
2026-06-04T02:39:10.0626870Z         "impl",
2026-06-04T02:39:10.0627034Z         "unit"
2026-06-04T02:39:10.0627193Z       ],
2026-06-04T02:39:10.0627351Z       "stages": {
2026-06-04T02:39:10.0627512Z         "doc": {
2026-06-04T02:39:10.0627735Z           "complete": false,
2026-06-04T02:39:10.0627918Z           "evidence": []
2026-06-04T02:39:10.0628066Z         },
2026-06-04T02:39:10.0628247Z         "impl": {
2026-06-04T02:39:10.0628432Z           "complete": true,
2026-06-04T02:39:10.0628601Z           "evidence": [
2026-06-04T02:39:10.0628765Z             {
2026-06-04T02:39:10.0629013Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T02:39:10.0629282Z               "line": 42
2026-06-04T02:39:10.0629439Z             },
2026-06-04T02:39:10.0629595Z             {
2026-06-04T02:39:10.0629833Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T02:39:10.0630001Z               "line": 151
2026-06-04T02:39:10.0630162Z             },
2026-06-04T02:39:10.0630310Z             {
2026-06-04T02:39:10.0630550Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T02:39:10.0630717Z               "line": 171
2026-06-04T02:39:10.0630876Z             },
2026-06-04T02:39:10.0631034Z             {
2026-06-04T02:39:10.0631275Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T02:39:10.0631453Z               "line": 209
2026-06-04T02:39:10.0631606Z             },
2026-06-04T02:39:10.0631775Z             {
2026-06-04T02:39:10.0632005Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T02:39:10.0632185Z               "line": 232
2026-06-04T02:39:10.0632343Z             }
2026-06-04T02:39:10.0632493Z           ]
2026-06-04T02:39:10.0632653Z         },
2026-06-04T02:39:10.0632815Z         "int": {
2026-06-04T02:39:10.0633001Z           "complete": false,
2026-06-04T02:39:10.0633167Z           "evidence": []
2026-06-04T02:39:10.0633322Z         },
2026-06-04T02:39:10.0633485Z         "unit": {
2026-06-04T02:39:10.0633660Z           "complete": true,
2026-06-04T02:39:10.0633832Z           "evidence": [
2026-06-04T02:39:10.0633982Z             {
2026-06-04T02:39:10.0634222Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T02:39:10.0634389Z               "line": 253
2026-06-04T02:39:10.0634569Z             },
2026-06-04T02:39:10.0634724Z             {
2026-06-04T02:39:10.0634954Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T02:39:10.0635142Z               "line": 272
2026-06-04T02:39:10.0635293Z             },
2026-06-04T02:39:10.0635450Z             {
2026-06-04T02:39:10.0635678Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T02:39:10.0635858Z               "line": 284
2026-06-04T02:39:10.0636023Z             },
2026-06-04T02:39:10.0636180Z             {
2026-06-04T02:39:10.0636420Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T02:39:10.0636594Z               "line": 303
2026-06-04T02:39:10.0636755Z             },
2026-06-04T02:39:10.0636913Z             {
2026-06-04T02:39:10.0637143Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T02:39:10.0637319Z               "line": 319
2026-06-04T02:39:10.0637470Z             },
2026-06-04T02:39:10.0637626Z             {
2026-06-04T02:39:10.0637852Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T02:39:10.0638374Z               "line": 331
2026-06-04T02:39:10.0638538Z             },
2026-06-04T02:39:10.0638819Z             {
2026-06-04T02:39:10.0639058Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T02:39:10.0639273Z               "line": 343
2026-06-04T02:39:10.0639441Z             },
2026-06-04T02:39:10.0639589Z             {
2026-06-04T02:39:10.0639824Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T02:39:10.0640000Z               "line": 356
2026-06-04T02:39:10.0640150Z             },
2026-06-04T02:39:10.0640309Z             {
2026-06-04T02:39:10.0640535Z               "path": "crates/spt-store/src/trust.rs",
2026-06-04T02:39:10.0640716Z               "line": 370
2026-06-04T02:39:10.0640867Z             }
2026-06-04T02:39:10.0641022Z           ]
2026-06-04T02:39:10.0641178Z         }
2026-06-04T02:39:10.0641325Z       }
2026-06-04T02:39:10.0641477Z     },
2026-06-04T02:39:10.0641622Z     {
2026-06-04T02:39:10.0641819Z       "id": "REQ-PAIR-3",
2026-06-04T02:39:10.0642119Z       "title": "Fetch current pairing code from any paired node",
2026-06-04T02:39:10.0642327Z       "requiredStages": [
2026-06-04T02:39:10.0642491Z         "impl",
2026-06-04T02:39:10.0642648Z         "unit"
2026-06-04T02:39:10.0642799Z       ],
2026-06-04T02:39:10.0642952Z       "stages": {
2026-06-04T02:39:10.0643117Z         "doc": {
2026-06-04T02:39:10.0643298Z           "complete": false,
2026-06-04T02:39:10.0643478Z           "evidence": []
2026-06-04T02:39:10.0643644Z         },
2026-06-04T02:39:10.0643806Z         "impl": {
2026-06-04T02:39:10.0643990Z           "complete": true,
2026-06-04T02:39:10.0644157Z           "evidence": [
2026-06-04T02:39:10.0644318Z             {
2026-06-04T02:39:10.0644529Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0644705Z               "line": 464
2026-06-04T02:39:10.0644865Z             },
2026-06-04T02:39:10.0645015Z             {
2026-06-04T02:39:10.0645229Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0645410Z               "line": 500
2026-06-04T02:39:10.0645573Z             },
2026-06-04T02:39:10.0645725Z             {
2026-06-04T02:39:10.0645954Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0646132Z               "line": 560
2026-06-04T02:39:10.0646283Z             }
2026-06-04T02:39:10.0646441Z           ]
2026-06-04T02:39:10.0646590Z         },
2026-06-04T02:39:10.0646750Z         "int": {
2026-06-04T02:39:10.0646926Z           "complete": false,
2026-06-04T02:39:10.0647110Z           "evidence": []
2026-06-04T02:39:10.0647269Z         },
2026-06-04T02:39:10.0647426Z         "unit": {
2026-06-04T02:39:10.0647608Z           "complete": true,
2026-06-04T02:39:10.0647776Z           "evidence": [
2026-06-04T02:39:10.0647934Z             {
2026-06-04T02:39:10.0648145Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0648319Z               "line": 696
2026-06-04T02:39:10.0648480Z             },
2026-06-04T02:39:10.0648644Z             {
2026-06-04T02:39:10.0648861Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0649031Z               "line": 713
2026-06-04T02:39:10.0649242Z             },
2026-06-04T02:39:10.0649395Z             {
2026-06-04T02:39:10.0649616Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0649788Z               "line": 727
2026-06-04T02:39:10.0649940Z             },
2026-06-04T02:39:10.0650100Z             {
2026-06-04T02:39:10.0650308Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0650483Z               "line": 743
2026-06-04T02:39:10.0650632Z             },
2026-06-04T02:39:10.0650789Z             {
2026-06-04T02:39:10.0651004Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0651171Z               "line": 764
2026-06-04T02:39:10.0651329Z             },
2026-06-04T02:39:10.0651481Z             {
2026-06-04T02:39:10.0651694Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0651862Z               "line": 780
2026-06-04T02:39:10.0652203Z             },
2026-06-04T02:39:10.0652367Z             {
2026-06-04T02:39:10.0652579Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0652879Z               "line": 793
2026-06-04T02:39:10.0653033Z             },
2026-06-04T02:39:10.0653188Z             {
2026-06-04T02:39:10.0653391Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0653573Z               "line": 802
2026-06-04T02:39:10.0653731Z             }
2026-06-04T02:39:10.0653887Z           ]
2026-06-04T02:39:10.0654042Z         }
2026-06-04T02:39:10.0654191Z       }
2026-06-04T02:39:10.0654343Z     },
2026-06-04T02:39:10.0654491Z     {
2026-06-04T02:39:10.0654680Z       "id": "REQ-PAIR-4",
2026-06-04T02:39:10.0654909Z       "title": "Subnet naming on first pairing",
2026-06-04T02:39:10.0655090Z       "requiredStages": [
2026-06-04T02:39:10.0655256Z         "impl",
2026-06-04T02:39:10.0655406Z         "unit"
2026-06-04T02:39:10.0655565Z       ],
2026-06-04T02:39:10.0655722Z       "stages": {
2026-06-04T02:39:10.0655898Z         "doc": {
2026-06-04T02:39:10.0661439Z           "complete": false,
2026-06-04T02:39:10.0661738Z           "evidence": []
2026-06-04T02:39:10.0661935Z         },
2026-06-04T02:39:10.0662096Z         "impl": {
2026-06-04T02:39:10.0662278Z           "complete": true,
2026-06-04T02:39:10.0662441Z           "evidence": [
2026-06-04T02:39:10.0662599Z             {
2026-06-04T02:39:10.0662852Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-04T02:39:10.0663019Z               "line": 154
2026-06-04T02:39:10.0663177Z             }
2026-06-04T02:39:10.0663326Z           ]
2026-06-04T02:39:10.0663485Z         },
2026-06-04T02:39:10.0663644Z         "int": {
2026-06-04T02:39:10.0663828Z           "complete": false,
2026-06-04T02:39:10.0664005Z           "evidence": []
2026-06-04T02:39:10.0664152Z         },
2026-06-04T02:39:10.0664312Z         "unit": {
2026-06-04T02:39:10.0664486Z           "complete": true,
2026-06-04T02:39:10.0664658Z           "evidence": [
2026-06-04T02:39:10.0664821Z             {
2026-06-04T02:39:10.0665096Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T02:39:10.0665284Z               "line": 972
2026-06-04T02:39:10.0665434Z             }
2026-06-04T02:39:10.0665613Z           ]
2026-06-04T02:39:10.0665759Z         }
2026-06-04T02:39:10.0665913Z       }
2026-06-04T02:39:10.0666056Z     },
2026-06-04T02:39:10.0666210Z     {
2026-06-04T02:39:10.0666395Z       "id": "REQ-PAIR-5",
2026-06-04T02:39:10.0667027Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-04T02:39:10.0667221Z       "requiredStages": [
2026-06-04T02:39:10.0667378Z         "impl",
2026-06-04T02:39:10.0667538Z         "unit"
2026-06-04T02:39:10.0667685Z       ],
2026-06-04T02:39:10.0667853Z       "stages": {
2026-06-04T02:39:10.0668017Z         "doc": {
2026-06-04T02:39:10.0668193Z           "complete": false,
2026-06-04T02:39:10.0668369Z           "evidence": []
2026-06-04T02:39:10.0668531Z         },
2026-06-04T02:39:10.0668698Z         "impl": {
2026-06-04T02:39:10.0668876Z           "complete": true,
2026-06-04T02:39:10.0669048Z           "evidence": [
2026-06-04T02:39:10.0669273Z             {
2026-06-04T02:39:10.0669573Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T02:39:10.0669754Z               "line": 33
2026-06-04T02:39:10.0669903Z             },
2026-06-04T02:39:10.0670060Z             {
2026-06-04T02:39:10.0670346Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T02:39:10.0670525Z               "line": 45
2026-06-04T02:39:10.0670684Z             },
2026-06-04T02:39:10.0670835Z             {
2026-06-04T02:39:10.0671130Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T02:39:10.0671299Z               "line": 59
2026-06-04T02:39:10.0671461Z             },
2026-06-04T02:39:10.0671610Z             {
2026-06-04T02:39:10.0671880Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T02:39:10.0672324Z               "line": 306
2026-06-04T02:39:10.0672480Z             }
2026-06-04T02:39:10.0672639Z           ]
2026-06-04T02:39:10.0672920Z         },
2026-06-04T02:39:10.0673084Z         "int": {
2026-06-04T02:39:10.0673264Z           "complete": false,
2026-06-04T02:39:10.0673464Z           "evidence": []
2026-06-04T02:39:10.0673661Z         },
2026-06-04T02:39:10.0673851Z         "unit": {
2026-06-04T02:39:10.0674047Z           "complete": true,
2026-06-04T02:39:10.0674215Z           "evidence": [
2026-06-04T02:39:10.0674372Z             {
2026-06-04T02:39:10.0674666Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T02:39:10.0674848Z               "line": 72
2026-06-04T02:39:10.0675010Z             },
2026-06-04T02:39:10.0675161Z             {
2026-06-04T02:39:10.0675451Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T02:39:10.0675622Z               "line": 82
2026-06-04T02:39:10.0675776Z             },
2026-06-04T02:39:10.0675947Z             {
2026-06-04T02:39:10.0676248Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T02:39:10.0676437Z               "line": 92
2026-06-04T02:39:10.0676590Z             },
2026-06-04T02:39:10.0676744Z             {
2026-06-04T02:39:10.0677025Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T02:39:10.0677202Z               "line": 102
2026-06-04T02:39:10.0677357Z             },
2026-06-04T02:39:10.0677509Z             {
2026-06-04T02:39:10.0677821Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-04T02:39:10.0677997Z               "line": 117
2026-06-04T02:39:10.0678159Z             },
2026-06-04T02:39:10.0678306Z             {
2026-06-04T02:39:10.0678574Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T02:39:10.0678753Z               "line": 750
2026-06-04T02:39:10.0678904Z             },
2026-06-04T02:39:10.0679061Z             {
2026-06-04T02:39:10.0679409Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T02:39:10.0679612Z               "line": 806
2026-06-04T02:39:10.0679762Z             },
2026-06-04T02:39:10.0679946Z             {
2026-06-04T02:39:10.0680214Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-04T02:39:10.0680387Z               "line": 1026
2026-06-04T02:39:10.0680546Z             }
2026-06-04T02:39:10.0680697Z           ]
2026-06-04T02:39:10.0680853Z         }
2026-06-04T02:39:10.0681001Z       }
2026-06-04T02:39:10.0681152Z     },
2026-06-04T02:39:10.0681311Z     {
2026-06-04T02:39:10.0681492Z       "id": "REQ-PAIR-6",
2026-06-04T02:39:10.0682041Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-04T02:39:10.0682226Z       "requiredStages": [
2026-06-04T02:39:10.0682392Z         "impl",
2026-06-04T02:39:10.0682542Z         "unit"
2026-06-04T02:39:10.0682699Z       ],
2026-06-04T02:39:10.0682866Z       "stages": {
2026-06-04T02:39:10.0683036Z         "doc": {
2026-06-04T02:39:10.0683226Z           "complete": false,
2026-06-04T02:39:10.0683394Z           "evidence": []
2026-06-04T02:39:10.0683564Z         },
2026-06-04T02:39:10.0683720Z         "impl": {
2026-06-04T02:39:10.0683906Z           "complete": true,
2026-06-04T02:39:10.0684079Z           "evidence": [
2026-06-04T02:39:10.0684232Z             {
2026-06-04T02:39:10.0684616Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0684817Z               "line": 500
2026-06-04T02:39:10.0685040Z             },
2026-06-04T02:39:10.0685256Z             {
2026-06-04T02:39:10.0685561Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0685788Z               "line": 560
2026-06-04T02:39:10.0685966Z             },
2026-06-04T02:39:10.0686151Z             {
2026-06-04T02:39:10.0686417Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T02:39:10.0686628Z               "line": 18
2026-06-04T02:39:10.0686795Z             },
2026-06-04T02:39:10.0687247Z             {
2026-06-04T02:39:10.0687527Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T02:39:10.0687725Z               "line": 49
2026-06-04T02:39:10.0688110Z             },
2026-06-04T02:39:10.0688275Z             {
2026-06-04T02:39:10.0688531Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T02:39:10.0688714Z               "line": 70
2026-06-04T02:39:10.0688889Z             }
2026-06-04T02:39:10.0689063Z           ]
2026-06-04T02:39:10.0689280Z         },
2026-06-04T02:39:10.0689481Z         "int": {
2026-06-04T02:39:10.0689679Z           "complete": false,
2026-06-04T02:39:10.0689876Z           "evidence": []
2026-06-04T02:39:10.0690041Z         },
2026-06-04T02:39:10.0690220Z         "unit": {
2026-06-04T02:39:10.0690418Z           "complete": true,
2026-06-04T02:39:10.0690599Z           "evidence": [
2026-06-04T02:39:10.0690775Z             {
2026-06-04T02:39:10.0690998Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0691192Z               "line": 815
2026-06-04T02:39:10.0691379Z             },
2026-06-04T02:39:10.0691554Z             {
2026-06-04T02:39:10.0691779Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0691971Z               "line": 832
2026-06-04T02:39:10.0692143Z             },
2026-06-04T02:39:10.0692308Z             {
2026-06-04T02:39:10.0692557Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T02:39:10.0692735Z               "line": 132
2026-06-04T02:39:10.0692912Z             },
2026-06-04T02:39:10.0693084Z             {
2026-06-04T02:39:10.0693317Z               "path": "crates/spt/src/elevation.rs",
2026-06-04T02:39:10.0693499Z               "line": 141
2026-06-04T02:39:10.0693657Z             }
2026-06-04T02:39:10.0700742Z           ]
2026-06-04T02:39:10.0701057Z         }
2026-06-04T02:39:10.0701219Z       }
2026-06-04T02:39:10.0701378Z     },
2026-06-04T02:39:10.0701524Z     {
2026-06-04T02:39:10.0701723Z       "id": "REQ-PAIR-7",
2026-06-04T02:39:10.0702065Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-04T02:39:10.0702311Z       "requiredStages": [],
2026-06-04T02:39:10.0702469Z       "stages": {
2026-06-04T02:39:10.0702654Z         "doc": {
2026-06-04T02:39:10.0702844Z           "complete": false,
2026-06-04T02:39:10.0703017Z           "evidence": []
2026-06-04T02:39:10.0703174Z         },
2026-06-04T02:39:10.0703332Z         "impl": {
2026-06-04T02:39:10.0703517Z           "complete": false,
2026-06-04T02:39:10.0703686Z           "evidence": []
2026-06-04T02:39:10.0703846Z         },
2026-06-04T02:39:10.0704137Z         "int": {
2026-06-04T02:39:10.0704313Z           "complete": false,
2026-06-04T02:39:10.0704489Z           "evidence": []
2026-06-04T02:39:10.0704636Z         },
2026-06-04T02:39:10.0704800Z         "unit": {
2026-06-04T02:39:10.0704977Z           "complete": false,
2026-06-04T02:39:10.0705156Z           "evidence": []
2026-06-04T02:39:10.0705312Z         }
2026-06-04T02:39:10.0705459Z       }
2026-06-04T02:39:10.0705610Z     },
2026-06-04T02:39:10.0705766Z     {
2026-06-04T02:39:10.0705950Z       "id": "REQ-REACH-1",
2026-06-04T02:39:10.0706248Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-04T02:39:10.0706454Z       "requiredStages": [],
2026-06-04T02:39:10.0706624Z       "stages": {
2026-06-04T02:39:10.0706777Z         "doc": {
2026-06-04T02:39:10.0706966Z           "complete": false,
2026-06-04T02:39:10.0707135Z           "evidence": []
2026-06-04T02:39:10.0707291Z         },
2026-06-04T02:39:10.0707447Z         "impl": {
2026-06-04T02:39:10.0707637Z           "complete": false,
2026-06-04T02:39:10.0707815Z           "evidence": []
2026-06-04T02:39:10.0707968Z         },
2026-06-04T02:39:10.0708132Z         "int": {
2026-06-04T02:39:10.0708310Z           "complete": false,
2026-06-04T02:39:10.0708489Z           "evidence": []
2026-06-04T02:39:10.0708638Z         },
2026-06-04T02:39:10.0708800Z         "unit": {
2026-06-04T02:39:10.0708982Z           "complete": false,
2026-06-04T02:39:10.0709151Z           "evidence": []
2026-06-04T02:39:10.0709660Z         }
2026-06-04T02:39:10.0709810Z       }
2026-06-04T02:39:10.0709972Z     },
2026-06-04T02:39:10.0710116Z     {
2026-06-04T02:39:10.0710434Z       "id": "REQ-REACH-2",
2026-06-04T02:39:10.0710765Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-04T02:39:10.0710952Z       "requiredStages": [],
2026-06-04T02:39:10.0711120Z       "stages": {
2026-06-04T02:39:10.0711279Z         "doc": {
2026-06-04T02:39:10.0711466Z           "complete": false,
2026-06-04T02:39:10.0711636Z           "evidence": []
2026-06-04T02:39:10.0711796Z         },
2026-06-04T02:39:10.0711962Z         "impl": {
2026-06-04T02:39:10.0712137Z           "complete": false,
2026-06-04T02:39:10.0712314Z           "evidence": []
2026-06-04T02:39:10.0712461Z         },
2026-06-04T02:39:10.0712628Z         "int": {
2026-06-04T02:39:10.0712806Z           "complete": false,
2026-06-04T02:39:10.0712990Z           "evidence": []
2026-06-04T02:39:10.0713148Z         },
2026-06-04T02:39:10.0713318Z         "unit": {
2026-06-04T02:39:10.0713502Z           "complete": false,
2026-06-04T02:39:10.0713670Z           "evidence": []
2026-06-04T02:39:10.0713840Z         }
2026-06-04T02:39:10.0713985Z       }
2026-06-04T02:39:10.0714140Z     },
2026-06-04T02:39:10.0714295Z     {
2026-06-04T02:39:10.0714514Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-04T02:39:10.0714903Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-04T02:39:10.0715086Z       "requiredStages": [
2026-06-04T02:39:10.0715250Z         "impl",
2026-06-04T02:39:10.0715404Z         "unit"
2026-06-04T02:39:10.0715561Z       ],
2026-06-04T02:39:10.0715726Z       "stages": {
2026-06-04T02:39:10.0715879Z         "doc": {
2026-06-04T02:39:10.0716061Z           "complete": false,
2026-06-04T02:39:10.0716232Z           "evidence": []
2026-06-04T02:39:10.0716390Z         },
2026-06-04T02:39:10.0716550Z         "impl": {
2026-06-04T02:39:10.0716734Z           "complete": true,
2026-06-04T02:39:10.0716906Z           "evidence": [
2026-06-04T02:39:10.0717068Z             {
2026-06-04T02:39:10.0717313Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T02:39:10.0717491Z               "line": 18
2026-06-04T02:39:10.0717657Z             },
2026-06-04T02:39:10.0717806Z             {
2026-06-04T02:39:10.0718056Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T02:39:10.0718230Z               "line": 35
2026-06-04T02:39:10.0718379Z             },
2026-06-04T02:39:10.0718540Z             {
2026-06-04T02:39:10.0718779Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T02:39:10.0718952Z               "line": 65
2026-06-04T02:39:10.0719101Z             }
2026-06-04T02:39:10.0719311Z           ]
2026-06-04T02:39:10.0719467Z         },
2026-06-04T02:39:10.0719623Z         "int": {
2026-06-04T02:39:10.0719811Z           "complete": false,
2026-06-04T02:39:10.0719980Z           "evidence": []
2026-06-04T02:39:10.0720137Z         },
2026-06-04T02:39:10.0720295Z         "unit": {
2026-06-04T02:39:10.0720493Z           "complete": true,
2026-06-04T02:39:10.0720670Z           "evidence": [
2026-06-04T02:39:10.0720818Z             {
2026-06-04T02:39:10.0721071Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T02:39:10.0721239Z               "line": 170
2026-06-04T02:39:10.0721400Z             },
2026-06-04T02:39:10.0721551Z             {
2026-06-04T02:39:10.0721790Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T02:39:10.0721969Z               "line": 184
2026-06-04T02:39:10.0722121Z             },
2026-06-04T02:39:10.0722280Z             {
2026-06-04T02:39:10.0722511Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T02:39:10.0722687Z               "line": 193
2026-06-04T02:39:10.0722838Z             }
2026-06-04T02:39:10.0722996Z           ]
2026-06-04T02:39:10.0723154Z         }
2026-06-04T02:39:10.0723303Z       }
2026-06-04T02:39:10.0723454Z     },
2026-06-04T02:39:10.0723599Z     {
2026-06-04T02:39:10.0723802Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-04T02:39:10.0724272Z       "title": "Hostable endpoint-types capability declaration",
2026-06-04T02:39:10.0724464Z       "requiredStages": [
2026-06-04T02:39:10.0724763Z         "impl",
2026-06-04T02:39:10.0724922Z         "unit"
2026-06-04T02:39:10.0725077Z       ],
2026-06-04T02:39:10.0725232Z       "stages": {
2026-06-04T02:39:10.0725395Z         "doc": {
2026-06-04T02:39:10.0725574Z           "complete": false,
2026-06-04T02:39:10.0725755Z           "evidence": []
2026-06-04T02:39:10.0725914Z         },
2026-06-04T02:39:10.0726070Z         "impl": {
2026-06-04T02:39:10.0726253Z           "complete": true,
2026-06-04T02:39:10.0726418Z           "evidence": [
2026-06-04T02:39:10.0726580Z             {
2026-06-04T02:39:10.0726821Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:10.0727000Z               "line": 186
2026-06-04T02:39:10.0727157Z             }
2026-06-04T02:39:10.0727302Z           ]
2026-06-04T02:39:10.0727461Z         },
2026-06-04T02:39:10.0727628Z         "int": {
2026-06-04T02:39:10.0727814Z           "complete": false,
2026-06-04T02:39:10.0727984Z           "evidence": []
2026-06-04T02:39:10.0728155Z         },
2026-06-04T02:39:10.0728322Z         "unit": {
2026-06-04T02:39:10.0728497Z           "complete": true,
2026-06-04T02:39:10.0728672Z           "evidence": [
2026-06-04T02:39:10.0728821Z             {
2026-06-04T02:39:10.0729071Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:10.0729289Z               "line": 301
2026-06-04T02:39:10.0729452Z             }
2026-06-04T02:39:10.0729606Z           ]
2026-06-04T02:39:10.0729753Z         }
2026-06-04T02:39:10.0729909Z       }
2026-06-04T02:39:10.0730053Z     },
2026-06-04T02:39:10.0730203Z     {
2026-06-04T02:39:10.0735892Z       "id": "REQ-SEAM-HISTORY",
2026-06-04T02:39:10.0736394Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-04T02:39:10.0736589Z       "requiredStages": [
2026-06-04T02:39:10.0736748Z         "impl",
2026-06-04T02:39:10.0736940Z         "unit",
2026-06-04T02:39:10.0737092Z         "int"
2026-06-04T02:39:10.0737252Z       ],
2026-06-04T02:39:10.0737407Z       "stages": {
2026-06-04T02:39:10.0737581Z         "doc": {
2026-06-04T02:39:10.0737768Z           "complete": false,
2026-06-04T02:39:10.0737944Z           "evidence": []
2026-06-04T02:39:10.0738106Z         },
2026-06-04T02:39:10.0738265Z         "impl": {
2026-06-04T02:39:10.0738450Z           "complete": true,
2026-06-04T02:39:10.0738617Z           "evidence": [
2026-06-04T02:39:10.0738776Z             {
2026-06-04T02:39:10.0739008Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T02:39:10.0739254Z               "line": 24
2026-06-04T02:39:10.0739432Z             },
2026-06-04T02:39:10.0739583Z             {
2026-06-04T02:39:10.0739825Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T02:39:10.0739991Z               "line": 22
2026-06-04T02:39:10.0740154Z             }
2026-06-04T02:39:10.0740310Z           ]
2026-06-04T02:39:10.0740472Z         },
2026-06-04T02:39:10.0740633Z         "int": {
2026-06-04T02:39:10.0740810Z           "complete": true,
2026-06-04T02:39:10.0740993Z           "evidence": [
2026-06-04T02:39:10.0741143Z             {
2026-06-04T02:39:10.0741398Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T02:39:10.0741577Z               "line": 202
2026-06-04T02:39:10.0741729Z             }
2026-06-04T02:39:10.0741887Z           ]
2026-06-04T02:39:10.0742037Z         },
2026-06-04T02:39:10.0742203Z         "unit": {
2026-06-04T02:39:10.0742379Z           "complete": true,
2026-06-04T02:39:10.0742553Z           "evidence": [
2026-06-04T02:39:10.0742711Z             {
2026-06-04T02:39:10.0742933Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T02:39:10.0743110Z               "line": 163
2026-06-04T02:39:10.0743263Z             },
2026-06-04T02:39:10.0743422Z             {
2026-06-04T02:39:10.0743645Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T02:39:10.0744068Z               "line": 186
2026-06-04T02:39:10.0744224Z             },
2026-06-04T02:39:10.0744376Z             {
2026-06-04T02:39:10.0744606Z               "path": "crates/spt-live/src/echo.rs",
2026-06-04T02:39:10.0744914Z               "line": 195
2026-06-04T02:39:10.0745078Z             },
2026-06-04T02:39:10.0745226Z             {
2026-06-04T02:39:10.0745473Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T02:39:10.0745650Z               "line": 195
2026-06-04T02:39:10.0745804Z             },
2026-06-04T02:39:10.0745963Z             {
2026-06-04T02:39:10.0746194Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T02:39:10.0746374Z               "line": 209
2026-06-04T02:39:10.0746526Z             },
2026-06-04T02:39:10.0746686Z             {
2026-06-04T02:39:10.0746925Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T02:39:10.0747094Z               "line": 228
2026-06-04T02:39:10.0747253Z             },
2026-06-04T02:39:10.0747402Z             {
2026-06-04T02:39:10.0747651Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T02:39:10.0747820Z               "line": 248
2026-06-04T02:39:10.0747999Z             },
2026-06-04T02:39:10.0748160Z             {
2026-06-04T02:39:10.0748384Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T02:39:10.0748563Z               "line": 264
2026-06-04T02:39:10.0748717Z             },
2026-06-04T02:39:10.0748875Z             {
2026-06-04T02:39:10.0749104Z               "path": "crates/spt-live/src/history.rs",
2026-06-04T02:39:10.0749329Z               "line": 279
2026-06-04T02:39:10.0749485Z             }
2026-06-04T02:39:10.0749631Z           ]
2026-06-04T02:39:10.0749784Z         }
2026-06-04T02:39:10.0749931Z       }
2026-06-04T02:39:10.0750083Z     },
2026-06-04T02:39:10.0750229Z     {
2026-06-04T02:39:10.0750422Z       "id": "REQ-SEAM-INJECT",
2026-06-04T02:39:10.0750761Z       "title": "inject-input methods configurable per activity-state",
2026-06-04T02:39:10.0750943Z       "requiredStages": [
2026-06-04T02:39:10.0751121Z         "impl",
2026-06-04T02:39:10.0751273Z         "unit"
2026-06-04T02:39:10.0751432Z       ],
2026-06-04T02:39:10.0751599Z       "stages": {
2026-06-04T02:39:10.0751762Z         "doc": {
2026-06-04T02:39:10.0751948Z           "complete": false,
2026-06-04T02:39:10.0752114Z           "evidence": []
2026-06-04T02:39:10.0752270Z         },
2026-06-04T02:39:10.0752429Z         "impl": {
2026-06-04T02:39:10.0752611Z           "complete": true,
2026-06-04T02:39:10.0752782Z           "evidence": [
2026-06-04T02:39:10.0752941Z             {
2026-06-04T02:39:10.0753181Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T02:39:10.0753355Z               "line": 19
2026-06-04T02:39:10.0753512Z             },
2026-06-04T02:39:10.0753658Z             {
2026-06-04T02:39:10.0753896Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T02:39:10.0754062Z               "line": 104
2026-06-04T02:39:10.0754218Z             }
2026-06-04T02:39:10.0754512Z           ]
2026-06-04T02:39:10.0754660Z         },
2026-06-04T02:39:10.0754824Z         "int": {
2026-06-04T02:39:10.0755002Z           "complete": false,
2026-06-04T02:39:10.0755194Z           "evidence": []
2026-06-04T02:39:10.0755345Z         },
2026-06-04T02:39:10.0755508Z         "unit": {
2026-06-04T02:39:10.0755697Z           "complete": true,
2026-06-04T02:39:10.0755859Z           "evidence": [
2026-06-04T02:39:10.0756019Z             {
2026-06-04T02:39:10.0756250Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T02:39:10.0756427Z               "line": 222
2026-06-04T02:39:10.0756579Z             },
2026-06-04T02:39:10.0756739Z             {
2026-06-04T02:39:10.0756975Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-04T02:39:10.0757144Z               "line": 236
2026-06-04T02:39:10.0757306Z             }
2026-06-04T02:39:10.0757458Z           ]
2026-06-04T02:39:10.0757616Z         }
2026-06-04T02:39:10.0757765Z       }
2026-06-04T02:39:10.0757922Z     },
2026-06-04T02:39:10.0758240Z     {
2026-06-04T02:39:10.0758438Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-04T02:39:10.0758719Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-04T02:39:10.0759068Z       "requiredStages": [
2026-06-04T02:39:10.0759279Z         "impl",
2026-06-04T02:39:10.0759440Z         "unit"
2026-06-04T02:39:10.0759607Z       ],
2026-06-04T02:39:10.0759771Z       "stages": {
2026-06-04T02:39:10.0759924Z         "doc": {
2026-06-04T02:39:10.0760116Z           "complete": false,
2026-06-04T02:39:10.0760286Z           "evidence": []
2026-06-04T02:39:10.0760446Z         },
2026-06-04T02:39:10.0760605Z         "impl": {
2026-06-04T02:39:10.0760791Z           "complete": true,
2026-06-04T02:39:10.0760963Z           "evidence": [
2026-06-04T02:39:10.0761114Z             {
2026-06-04T02:39:10.0761358Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0761525Z               "line": 18
2026-06-04T02:39:10.0761687Z             },
2026-06-04T02:39:10.0761840Z             {
2026-06-04T02:39:10.0762093Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0762275Z               "line": 257
2026-06-04T02:39:10.0762438Z             }
2026-06-04T02:39:10.0762594Z           ]
2026-06-04T02:39:10.0762742Z         },
2026-06-04T02:39:10.0762905Z         "int": {
2026-06-04T02:39:10.0763084Z           "complete": false,
2026-06-04T02:39:10.0763263Z           "evidence": []
2026-06-04T02:39:10.0763425Z         },
2026-06-04T02:39:10.0763577Z         "unit": {
2026-06-04T02:39:10.0763760Z           "complete": true,
2026-06-04T02:39:10.0763927Z           "evidence": [
2026-06-04T02:39:10.0764087Z             {
2026-06-04T02:39:10.0764315Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0764490Z               "line": 420
2026-06-04T02:39:10.0764654Z             },
2026-06-04T02:39:10.0764803Z             {
2026-06-04T02:39:10.0765044Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0765208Z               "line": 430
2026-06-04T02:39:10.0765375Z             }
2026-06-04T02:39:10.0765527Z           ]
2026-06-04T02:39:10.0771102Z         }
2026-06-04T02:39:10.0771433Z       }
2026-06-04T02:39:10.0771748Z     },
2026-06-04T02:39:10.0772077Z     {
2026-06-04T02:39:10.0772294Z       "id": "REQ-SEAM-PSYCHE",
2026-06-04T02:39:10.0772807Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-04T02:39:10.0773039Z       "requiredStages": [
2026-06-04T02:39:10.0773247Z         "impl",
2026-06-04T02:39:10.0773445Z         "unit",
2026-06-04T02:39:10.0773642Z         "int"
2026-06-04T02:39:10.0773827Z       ],
2026-06-04T02:39:10.0774155Z       "stages": {
2026-06-04T02:39:10.0774391Z         "doc": {
2026-06-04T02:39:10.0774612Z           "complete": false,
2026-06-04T02:39:10.0774793Z           "evidence": []
2026-06-04T02:39:10.0774966Z         },
2026-06-04T02:39:10.0775129Z         "impl": {
2026-06-04T02:39:10.0775320Z           "complete": true,
2026-06-04T02:39:10.0775498Z           "evidence": [
2026-06-04T02:39:10.0775668Z             {
2026-06-04T02:39:10.0775922Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T02:39:10.0776094Z               "line": 19
2026-06-04T02:39:10.0776271Z             },
2026-06-04T02:39:10.0776426Z             {
2026-06-04T02:39:10.0776659Z               "path": "crates/spt/src/api/live.rs",
2026-06-04T02:39:10.0776836Z               "line": 12
2026-06-04T02:39:10.0776987Z             },
2026-06-04T02:39:10.0777144Z             {
2026-06-04T02:39:10.0777381Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0777562Z               "line": 164
2026-06-04T02:39:10.0777727Z             }
2026-06-04T02:39:10.0777874Z           ]
2026-06-04T02:39:10.0778036Z         },
2026-06-04T02:39:10.0778196Z         "int": {
2026-06-04T02:39:10.0778377Z           "complete": true,
2026-06-04T02:39:10.0778545Z           "evidence": [
2026-06-04T02:39:10.0778704Z             {
2026-06-04T02:39:10.0778947Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T02:39:10.0779771Z               "line": 201
2026-06-04T02:39:10.0779949Z             }
2026-06-04T02:39:10.0780100Z           ]
2026-06-04T02:39:10.0780413Z         },
2026-06-04T02:39:10.0780573Z         "unit": {
2026-06-04T02:39:10.0780764Z           "complete": true,
2026-06-04T02:39:10.0780942Z           "evidence": [
2026-06-04T02:39:10.0781092Z             {
2026-06-04T02:39:10.0781337Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T02:39:10.0781506Z               "line": 161
2026-06-04T02:39:10.0781671Z             },
2026-06-04T02:39:10.0781824Z             {
2026-06-04T02:39:10.0782071Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T02:39:10.0782254Z               "line": 168
2026-06-04T02:39:10.0782411Z             },
2026-06-04T02:39:10.0782576Z             {
2026-06-04T02:39:10.0782813Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-04T02:39:10.0782992Z               "line": 191
2026-06-04T02:39:10.0783153Z             },
2026-06-04T02:39:10.0783329Z             {
2026-06-04T02:39:10.0783571Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T02:39:10.0783738Z               "line": 105
2026-06-04T02:39:10.0783910Z             },
2026-06-04T02:39:10.0784058Z             {
2026-06-04T02:39:10.0784298Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T02:39:10.0784479Z               "line": 122
2026-06-04T02:39:10.0784641Z             },
2026-06-04T02:39:10.0784801Z             {
2026-06-04T02:39:10.0785026Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-04T02:39:10.0785205Z               "line": 136
2026-06-04T02:39:10.0785354Z             }
2026-06-04T02:39:10.0785518Z           ]
2026-06-04T02:39:10.0785663Z         }
2026-06-04T02:39:10.0785819Z       }
2026-06-04T02:39:10.0785972Z     },
2026-06-04T02:39:10.0786116Z     {
2026-06-04T02:39:10.0786310Z       "id": "REQ-SEAM-RESUME",
2026-06-04T02:39:10.0786689Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-04T02:39:10.0786892Z       "requiredStages": [
2026-06-04T02:39:10.0787046Z         "impl",
2026-06-04T02:39:10.0787208Z         "unit"
2026-06-04T02:39:10.0787370Z       ],
2026-06-04T02:39:10.0787526Z       "stages": {
2026-06-04T02:39:10.0787685Z         "doc": {
2026-06-04T02:39:10.0787862Z           "complete": false,
2026-06-04T02:39:10.0788040Z           "evidence": []
2026-06-04T02:39:10.0788189Z         },
2026-06-04T02:39:10.0788362Z         "impl": {
2026-06-04T02:39:10.0788545Z           "complete": true,
2026-06-04T02:39:10.0788716Z           "evidence": [
2026-06-04T02:39:10.0788876Z             {
2026-06-04T02:39:10.0789109Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T02:39:10.0789359Z               "line": 19
2026-06-04T02:39:10.0789526Z             }
2026-06-04T02:39:10.0789695Z           ]
2026-06-04T02:39:10.0789856Z         },
2026-06-04T02:39:10.0790011Z         "int": {
2026-06-04T02:39:10.0790197Z           "complete": false,
2026-06-04T02:39:10.0790388Z           "evidence": []
2026-06-04T02:39:10.0790544Z         },
2026-06-04T02:39:10.0790698Z         "unit": {
2026-06-04T02:39:10.0790885Z           "complete": true,
2026-06-04T02:39:10.0791071Z           "evidence": [
2026-06-04T02:39:10.0791224Z             {
2026-06-04T02:39:10.0791469Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T02:39:10.0791642Z               "line": 145
2026-06-04T02:39:10.0791804Z             },
2026-06-04T02:39:10.0791953Z             {
2026-06-04T02:39:10.0792191Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T02:39:10.0792377Z               "line": 164
2026-06-04T02:39:10.0792530Z             },
2026-06-04T02:39:10.0792686Z             {
2026-06-04T02:39:10.0792911Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T02:39:10.0793088Z               "line": 182
2026-06-04T02:39:10.0793241Z             },
2026-06-04T02:39:10.0793398Z             {
2026-06-04T02:39:10.0793639Z               "path": "crates/spt-live/src/resume.rs",
2026-06-04T02:39:10.0794000Z               "line": 206
2026-06-04T02:39:10.0794160Z             }
2026-06-04T02:39:10.0794315Z           ]
2026-06-04T02:39:10.0794610Z         }
2026-06-04T02:39:10.0794767Z       }
2026-06-04T02:39:10.0794925Z     },
2026-06-04T02:39:10.0795079Z     {
2026-06-04T02:39:10.0795263Z       "id": "REQ-SEAM-SPAWN",
2026-06-04T02:39:10.0795468Z       "title": "spawn-session seam",
2026-06-04T02:39:10.0795651Z       "requiredStages": [
2026-06-04T02:39:10.0795821Z         "impl",
2026-06-04T02:39:10.0795978Z         "unit"
2026-06-04T02:39:10.0796138Z       ],
2026-06-04T02:39:10.0796303Z       "stages": {
2026-06-04T02:39:10.0796460Z         "doc": {
2026-06-04T02:39:10.0796650Z           "complete": false,
2026-06-04T02:39:10.0796819Z           "evidence": []
2026-06-04T02:39:10.0796979Z         },
2026-06-04T02:39:10.0797140Z         "impl": {
2026-06-04T02:39:10.0797327Z           "complete": true,
2026-06-04T02:39:10.0797508Z           "evidence": [
2026-06-04T02:39:10.0797678Z             {
2026-06-04T02:39:10.0797943Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T02:39:10.0798108Z               "line": 20
2026-06-04T02:39:10.0798280Z             }
2026-06-04T02:39:10.0798430Z           ]
2026-06-04T02:39:10.0798591Z         },
2026-06-04T02:39:10.0798754Z         "int": {
2026-06-04T02:39:10.0798932Z           "complete": false,
2026-06-04T02:39:10.0799116Z           "evidence": []
2026-06-04T02:39:10.0799330Z         },
2026-06-04T02:39:10.0799504Z         "unit": {
2026-06-04T02:39:10.0799683Z           "complete": true,
2026-06-04T02:39:10.0799869Z           "evidence": [
2026-06-04T02:39:10.0800031Z             {
2026-06-04T02:39:10.0800284Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T02:39:10.0800464Z               "line": 397
2026-06-04T02:39:10.0800614Z             },
2026-06-04T02:39:10.0800773Z             {
2026-06-04T02:39:10.0801017Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T02:39:10.0801216Z               "line": 404
2026-06-04T02:39:10.0801372Z             },
2026-06-04T02:39:10.0801522Z             {
2026-06-04T02:39:10.0801772Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T02:39:10.0801955Z               "line": 414
2026-06-04T02:39:10.0802113Z             },
2026-06-04T02:39:10.0808424Z             {
2026-06-04T02:39:10.0808846Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T02:39:10.0809039Z               "line": 420
2026-06-04T02:39:10.0809279Z             },
2026-06-04T02:39:10.0809438Z             {
2026-06-04T02:39:10.0809689Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T02:39:10.0809869Z               "line": 440
2026-06-04T02:39:10.0810019Z             },
2026-06-04T02:39:10.0810180Z             {
2026-06-04T02:39:10.0810433Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-04T02:39:10.0810605Z               "line": 473
2026-06-04T02:39:10.0810763Z             }
2026-06-04T02:39:10.0810959Z           ]
2026-06-04T02:39:10.0811119Z         }
2026-06-04T02:39:10.0811271Z       }
2026-06-04T02:39:10.0811430Z     },
2026-06-04T02:39:10.0811582Z     {
2026-06-04T02:39:10.0811786Z       "id": "REQ-SEAM-UPDATE",
2026-06-04T02:39:10.0812130Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-04T02:39:10.0812314Z       "requiredStages": [
2026-06-04T02:39:10.0812479Z         "impl",
2026-06-04T02:39:10.0812635Z         "unit"
2026-06-04T02:39:10.0812797Z       ],
2026-06-04T02:39:10.0812965Z       "stages": {
2026-06-04T02:39:10.0813118Z         "doc": {
2026-06-04T02:39:10.0813308Z           "complete": false,
2026-06-04T02:39:10.0813475Z           "evidence": []
2026-06-04T02:39:10.0813631Z         },
2026-06-04T02:39:10.0813789Z         "impl": {
2026-06-04T02:39:10.0813976Z           "complete": true,
2026-06-04T02:39:10.0814157Z           "evidence": [
2026-06-04T02:39:10.0814309Z             {
2026-06-04T02:39:10.0814596Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T02:39:10.0815053Z               "line": 28
2026-06-04T02:39:10.0815220Z             },
2026-06-04T02:39:10.0815371Z             {
2026-06-04T02:39:10.0815787Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T02:39:10.0815966Z               "line": 83
2026-06-04T02:39:10.0816115Z             }
2026-06-04T02:39:10.0816275Z           ]
2026-06-04T02:39:10.0816422Z         },
2026-06-04T02:39:10.0816587Z         "int": {
2026-06-04T02:39:10.0816771Z           "complete": false,
2026-06-04T02:39:10.0816954Z           "evidence": []
2026-06-04T02:39:10.0817116Z         },
2026-06-04T02:39:10.0817272Z         "unit": {
2026-06-04T02:39:10.0817460Z           "complete": true,
2026-06-04T02:39:10.0817625Z           "evidence": [
2026-06-04T02:39:10.0817783Z             {
2026-06-04T02:39:10.0818047Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T02:39:10.0818226Z               "line": 248
2026-06-04T02:39:10.0818384Z             },
2026-06-04T02:39:10.0818548Z             {
2026-06-04T02:39:10.0818828Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T02:39:10.0819007Z               "line": 259
2026-06-04T02:39:10.0819215Z             }
2026-06-04T02:39:10.0819366Z           ]
2026-06-04T02:39:10.0819708Z         }
2026-06-04T02:39:10.0819888Z       }
2026-06-04T02:39:10.0820193Z     },
2026-06-04T02:39:10.0820348Z     {
2026-06-04T02:39:10.0820529Z       "id": "REQ-SEC-1",
2026-06-04T02:39:10.0821369Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-04T02:39:10.0821569Z       "requiredStages": [],
2026-06-04T02:39:10.0821731Z       "stages": {
2026-06-04T02:39:10.0821900Z         "doc": {
2026-06-04T02:39:10.0822085Z           "complete": false,
2026-06-04T02:39:10.0822265Z           "evidence": []
2026-06-04T02:39:10.0822422Z         },
2026-06-04T02:39:10.0822592Z         "impl": {
2026-06-04T02:39:10.0822783Z           "complete": false,
2026-06-04T02:39:10.0822962Z           "evidence": []
2026-06-04T02:39:10.0823121Z         },
2026-06-04T02:39:10.0823288Z         "int": {
2026-06-04T02:39:10.0823472Z           "complete": false,
2026-06-04T02:39:10.0823638Z           "evidence": []
2026-06-04T02:39:10.0823802Z         },
2026-06-04T02:39:10.0823958Z         "unit": {
2026-06-04T02:39:10.0824145Z           "complete": false,
2026-06-04T02:39:10.0824318Z           "evidence": []
2026-06-04T02:39:10.0824467Z         }
2026-06-04T02:39:10.0824625Z       }
2026-06-04T02:39:10.0824773Z     },
2026-06-04T02:39:10.0824927Z     {
2026-06-04T02:39:10.0825102Z       "id": "REQ-START-1",
2026-06-04T02:39:10.0825514Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-04T02:39:10.0825710Z       "requiredStages": [
2026-06-04T02:39:10.0825863Z         "impl",
2026-06-04T02:39:10.0826035Z         "unit"
2026-06-04T02:39:10.0826186Z       ],
2026-06-04T02:39:10.0826363Z       "stages": {
2026-06-04T02:39:10.0826519Z         "doc": {
2026-06-04T02:39:10.0826712Z           "complete": false,
2026-06-04T02:39:10.0826888Z           "evidence": []
2026-06-04T02:39:10.0827050Z         },
2026-06-04T02:39:10.0827215Z         "impl": {
2026-06-04T02:39:10.0827391Z           "complete": true,
2026-06-04T02:39:10.0827565Z           "evidence": [
2026-06-04T02:39:10.0827716Z             {
2026-06-04T02:39:10.0827958Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T02:39:10.0828129Z               "line": 16
2026-06-04T02:39:10.0828281Z             }
2026-06-04T02:39:10.0828441Z           ]
2026-06-04T02:39:10.0828596Z         },
2026-06-04T02:39:10.0828760Z         "int": {
2026-06-04T02:39:10.0828940Z           "complete": false,
2026-06-04T02:39:10.0829120Z           "evidence": []
2026-06-04T02:39:10.0829336Z         },
2026-06-04T02:39:10.0829497Z         "unit": {
2026-06-04T02:39:10.0829696Z           "complete": true,
2026-06-04T02:39:10.0829870Z           "evidence": [
2026-06-04T02:39:10.0830273Z             {
2026-06-04T02:39:10.0830507Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T02:39:10.0830830Z               "line": 43
2026-06-04T02:39:10.0830995Z             },
2026-06-04T02:39:10.0831145Z             {
2026-06-04T02:39:10.0831388Z               "path": "crates/spt-store/src/seed.rs",
2026-06-04T02:39:10.0831558Z               "line": 59
2026-06-04T02:39:10.0831720Z             }
2026-06-04T02:39:10.0831870Z           ]
2026-06-04T02:39:10.0832032Z         }
2026-06-04T02:39:10.0832194Z       }
2026-06-04T02:39:10.0832339Z     },
2026-06-04T02:39:10.0832493Z     {
2026-06-04T02:39:10.0832670Z       "id": "REQ-START-2",
2026-06-04T02:39:10.0832971Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-04T02:39:10.0833156Z       "requiredStages": [
2026-06-04T02:39:10.0833325Z         "impl",
2026-06-04T02:39:10.0833484Z         "unit",
2026-06-04T02:39:10.0833633Z         "int"
2026-06-04T02:39:10.0833789Z       ],
2026-06-04T02:39:10.0833968Z       "stages": {
2026-06-04T02:39:10.0834132Z         "doc": {
2026-06-04T02:39:10.0834309Z           "complete": false,
2026-06-04T02:39:10.0834498Z           "evidence": []
2026-06-04T02:39:10.0834655Z         },
2026-06-04T02:39:10.0834812Z         "impl": {
2026-06-04T02:39:10.0835000Z           "complete": true,
2026-06-04T02:39:10.0835166Z           "evidence": [
2026-06-04T02:39:10.0835324Z             {
2026-06-04T02:39:10.0835565Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0835744Z               "line": 16
2026-06-04T02:39:10.0835902Z             },
2026-06-04T02:39:10.0836051Z             {
2026-06-04T02:39:10.0836284Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0836451Z               "line": 94
2026-06-04T02:39:10.0836612Z             },
2026-06-04T02:39:10.0836763Z             {
2026-06-04T02:39:10.0837007Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0837192Z               "line": 163
2026-06-04T02:39:10.0837353Z             }
2026-06-04T02:39:10.0837511Z           ]
2026-06-04T02:39:10.0837660Z         },
2026-06-04T02:39:10.0837821Z         "int": {
2026-06-04T02:39:10.0838008Z           "complete": true,
2026-06-04T02:39:10.0838189Z           "evidence": [
2026-06-04T02:39:10.0838355Z             {
2026-06-04T02:39:10.0838596Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T02:39:10.0838772Z               "line": 150
2026-06-04T02:39:10.0838919Z             }
2026-06-04T02:39:10.0839075Z           ]
2026-06-04T02:39:10.0839271Z         },
2026-06-04T02:39:10.0844928Z         "unit": {
2026-06-04T02:39:10.0845267Z           "complete": true,
2026-06-04T02:39:10.0845441Z           "evidence": [
2026-06-04T02:39:10.0845600Z             {
2026-06-04T02:39:10.0845840Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0846016Z               "line": 354
2026-06-04T02:39:10.0846167Z             },
2026-06-04T02:39:10.0846331Z             {
2026-06-04T02:39:10.0846601Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0846771Z               "line": 387
2026-06-04T02:39:10.0846945Z             }
2026-06-04T02:39:10.0847099Z           ]
2026-06-04T02:39:10.0847260Z         }
2026-06-04T02:39:10.0847408Z       }
2026-06-04T02:39:10.0847572Z     },
2026-06-04T02:39:10.0847731Z     {
2026-06-04T02:39:10.0847904Z       "id": "REQ-START-3",
2026-06-04T02:39:10.0848266Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-04T02:39:10.0848449Z       "requiredStages": [
2026-06-04T02:39:10.0848617Z         "impl",
2026-06-04T02:39:10.0848772Z         "unit",
2026-06-04T02:39:10.0848933Z         "int"
2026-06-04T02:39:10.0849088Z       ],
2026-06-04T02:39:10.0849334Z       "stages": {
2026-06-04T02:39:10.0849505Z         "doc": {
2026-06-04T02:39:10.0849684Z           "complete": false,
2026-06-04T02:39:10.0849862Z           "evidence": []
2026-06-04T02:39:10.0850012Z         },
2026-06-04T02:39:10.0850440Z         "impl": {
2026-06-04T02:39:10.0850624Z           "complete": true,
2026-06-04T02:39:10.0850791Z           "evidence": [
2026-06-04T02:39:10.0850955Z             {
2026-06-04T02:39:10.0851352Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T02:39:10.0851535Z               "line": 23
2026-06-04T02:39:10.0851693Z             },
2026-06-04T02:39:10.0851861Z             {
2026-06-04T02:39:10.0852115Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T02:39:10.0852284Z               "line": 167
2026-06-04T02:39:10.0852444Z             },
2026-06-04T02:39:10.0852593Z             {
2026-06-04T02:39:10.0852846Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T02:39:10.0853015Z               "line": 180
2026-06-04T02:39:10.0853179Z             },
2026-06-04T02:39:10.0853340Z             {
2026-06-04T02:39:10.0853574Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0853751Z               "line": 17
2026-06-04T02:39:10.0853920Z             },
2026-06-04T02:39:10.0854081Z             {
2026-06-04T02:39:10.0854311Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0854498Z               "line": 43
2026-06-04T02:39:10.0854656Z             },
2026-06-04T02:39:10.0854805Z             {
2026-06-04T02:39:10.0855041Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0855212Z               "line": 95
2026-06-04T02:39:10.0855367Z             }
2026-06-04T02:39:10.0855526Z           ]
2026-06-04T02:39:10.0855675Z         },
2026-06-04T02:39:10.0855840Z         "int": {
2026-06-04T02:39:10.0856017Z           "complete": true,
2026-06-04T02:39:10.0856198Z           "evidence": [
2026-06-04T02:39:10.0856347Z             {
2026-06-04T02:39:10.0856599Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-04T02:39:10.0856774Z               "line": 316
2026-06-04T02:39:10.0856923Z             }
2026-06-04T02:39:10.0857083Z           ]
2026-06-04T02:39:10.0857239Z         },
2026-06-04T02:39:10.0857418Z         "unit": {
2026-06-04T02:39:10.0857596Z           "complete": true,
2026-06-04T02:39:10.0857771Z           "evidence": [
2026-06-04T02:39:10.0857943Z             {
2026-06-04T02:39:10.0858189Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T02:39:10.0858364Z               "line": 245
2026-06-04T02:39:10.0858515Z             },
2026-06-04T02:39:10.0858675Z             {
2026-06-04T02:39:10.0858917Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T02:39:10.0859095Z               "line": 263
2026-06-04T02:39:10.0859302Z             },
2026-06-04T02:39:10.0859469Z             {
2026-06-04T02:39:10.0859717Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-04T02:39:10.0859884Z               "line": 273
2026-06-04T02:39:10.0860042Z             },
2026-06-04T02:39:10.0860195Z             {
2026-06-04T02:39:10.0860433Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0860615Z               "line": 355
2026-06-04T02:39:10.0860781Z             },
2026-06-04T02:39:10.0860942Z             {
2026-06-04T02:39:10.0861178Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0861367Z               "line": 388
2026-06-04T02:39:10.0861523Z             },
2026-06-04T02:39:10.0861680Z             {
2026-06-04T02:39:10.0861918Z               "path": "crates/spt/src/api/startup.rs",
2026-06-04T02:39:10.0862092Z               "line": 396
2026-06-04T02:39:10.0862251Z             }
2026-06-04T02:39:10.0862402Z           ]
2026-06-04T02:39:10.0862559Z         }
2026-06-04T02:39:10.0862706Z       }
2026-06-04T02:39:10.0862864Z     },
2026-06-04T02:39:10.0863015Z     {
2026-06-04T02:39:10.0863189Z       "id": "REQ-START-4",
2026-06-04T02:39:10.0863489Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-04T02:39:10.0863670Z       "requiredStages": [
2026-06-04T02:39:10.0863833Z         "impl",
2026-06-04T02:39:10.0863988Z         "unit"
2026-06-04T02:39:10.0864153Z       ],
2026-06-04T02:39:10.0864499Z       "stages": {
2026-06-04T02:39:10.0864657Z         "doc": {
2026-06-04T02:39:10.0864846Z           "complete": false,
2026-06-04T02:39:10.0865018Z           "evidence": []
2026-06-04T02:39:10.0865311Z         },
2026-06-04T02:39:10.0865475Z         "impl": {
2026-06-04T02:39:10.0865663Z           "complete": true,
2026-06-04T02:39:10.0865838Z           "evidence": [
2026-06-04T02:39:10.0865987Z             {
2026-06-04T02:39:10.0866239Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:10.0866413Z               "line": 173
2026-06-04T02:39:10.0866573Z             }
2026-06-04T02:39:10.0866727Z           ]
2026-06-04T02:39:10.0866889Z         },
2026-06-04T02:39:10.0867053Z         "int": {
2026-06-04T02:39:10.0867232Z           "complete": false,
2026-06-04T02:39:10.0867413Z           "evidence": []
2026-06-04T02:39:10.0867565Z         },
2026-06-04T02:39:10.0867730Z         "unit": {
2026-06-04T02:39:10.0867900Z           "complete": true,
2026-06-04T02:39:10.0868070Z           "evidence": [
2026-06-04T02:39:10.0868245Z             {
2026-06-04T02:39:10.0868495Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-04T02:39:10.0868687Z               "line": 314
2026-06-04T02:39:10.0868839Z             }
2026-06-04T02:39:10.0868997Z           ]
2026-06-04T02:39:10.0869146Z         }
2026-06-04T02:39:10.0869361Z       }
2026-06-04T02:39:10.0869513Z     },
2026-06-04T02:39:10.0869662Z     {
2026-06-04T02:39:10.0869846Z       "id": "REQ-STORE-1",
2026-06-04T02:39:10.0871716Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-04T02:39:10.0871926Z       "requiredStages": [],
2026-06-04T02:39:10.0872096Z       "stages": {
2026-06-04T02:39:10.0872251Z         "doc": {
2026-06-04T02:39:10.0872451Z           "complete": false,
2026-06-04T02:39:10.0872622Z           "evidence": []
2026-06-04T02:39:10.0872780Z         },
2026-06-04T02:39:10.0872938Z         "impl": {
2026-06-04T02:39:10.0873140Z           "complete": false,
2026-06-04T02:39:10.0873313Z           "evidence": []
2026-06-04T02:39:10.0873462Z         },
2026-06-04T02:39:10.0873625Z         "int": {
2026-06-04T02:39:10.0873807Z           "complete": false,
2026-06-04T02:39:10.0873986Z           "evidence": []
2026-06-04T02:39:10.0874140Z         },
2026-06-04T02:39:10.0874299Z         "unit": {
2026-06-04T02:39:10.0874479Z           "complete": false,
2026-06-04T02:39:10.0874655Z           "evidence": []
2026-06-04T02:39:10.0874815Z         }
2026-06-04T02:39:10.0874964Z       }
2026-06-04T02:39:10.0875116Z     },
2026-06-04T02:39:10.0875258Z     {
2026-06-04T02:39:10.0875442Z       "id": "REQ-TERM-1",
2026-06-04T02:39:10.0875798Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-04T02:39:10.0875979Z       "requiredStages": [
2026-06-04T02:39:10.0876156Z         "impl",
2026-06-04T02:39:10.0876311Z         "unit"
2026-06-04T02:39:10.0881943Z       ],
2026-06-04T02:39:10.0882274Z       "stages": {
2026-06-04T02:39:10.0882442Z         "doc": {
2026-06-04T02:39:10.0882635Z           "complete": false,
2026-06-04T02:39:10.0882804Z           "evidence": []
2026-06-04T02:39:10.0882956Z         },
2026-06-04T02:39:10.0883111Z         "impl": {
2026-06-04T02:39:10.0883299Z           "complete": true,
2026-06-04T02:39:10.0883465Z           "evidence": [
2026-06-04T02:39:10.0883621Z             {
2026-06-04T02:39:10.0883874Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T02:39:10.0884042Z               "line": 61
2026-06-04T02:39:10.0884202Z             },
2026-06-04T02:39:10.0884352Z             {
2026-06-04T02:39:10.0884591Z               "path": "crates/spt-term/src/pty.rs",
2026-06-04T02:39:10.0884756Z               "line": 169
2026-06-04T02:39:10.0884913Z             },
2026-06-04T02:39:10.0885067Z             {
2026-06-04T02:39:10.0885571Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T02:39:10.0885745Z               "line": 95
2026-06-04T02:39:10.0886031Z             }
2026-06-04T02:39:10.0886193Z           ]
2026-06-04T02:39:10.0886349Z         },
2026-06-04T02:39:10.0886513Z         "int": {
2026-06-04T02:39:10.0886697Z           "complete": false,
2026-06-04T02:39:10.0886863Z           "evidence": []
2026-06-04T02:39:10.0887020Z         },
2026-06-04T02:39:10.0887174Z         "unit": {
2026-06-04T02:39:10.0887359Z           "complete": true,
2026-06-04T02:39:10.0887524Z           "evidence": [
2026-06-04T02:39:10.0887682Z             {
2026-06-04T02:39:10.0887937Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T02:39:10.0888102Z               "line": 28
2026-06-04T02:39:10.0888260Z             },
2026-06-04T02:39:10.0888414Z             {
2026-06-04T02:39:10.0888670Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-04T02:39:10.0888838Z               "line": 60
2026-06-04T02:39:10.0889013Z             }
2026-06-04T02:39:10.0889236Z           ]
2026-06-04T02:39:10.0889389Z         }
2026-06-04T02:39:10.0889558Z       }
2026-06-04T02:39:10.0889703Z     },
2026-06-04T02:39:10.0889857Z     {
2026-06-04T02:39:10.0890031Z       "id": "REQ-TERM-2",
2026-06-04T02:39:10.0890416Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-04T02:39:10.0890606Z       "requiredStages": [
2026-06-04T02:39:10.0890760Z         "impl",
2026-06-04T02:39:10.0890917Z         "unit"
2026-06-04T02:39:10.0891067Z       ],
2026-06-04T02:39:10.0891233Z       "stages": {
2026-06-04T02:39:10.0891390Z         "doc": {
2026-06-04T02:39:10.0891605Z           "complete": false,
2026-06-04T02:39:10.0891787Z           "evidence": []
2026-06-04T02:39:10.0891940Z         },
2026-06-04T02:39:10.0892106Z         "impl": {
2026-06-04T02:39:10.0892287Z           "complete": true,
2026-06-04T02:39:10.0892460Z           "evidence": [
2026-06-04T02:39:10.0892620Z             {
2026-06-04T02:39:10.0892862Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T02:39:10.0893035Z               "line": 112
2026-06-04T02:39:10.0893195Z             },
2026-06-04T02:39:10.0893352Z             {
2026-06-04T02:39:10.0893581Z               "path": "crates/spt-term/src/surface.rs",
2026-06-04T02:39:10.0893758Z               "line": 122
2026-06-04T02:39:10.0893908Z             }
2026-06-04T02:39:10.0894073Z           ]
2026-06-04T02:39:10.0894227Z         },
2026-06-04T02:39:10.0894381Z         "int": {
2026-06-04T02:39:10.0894568Z           "complete": false,
2026-06-04T02:39:10.0894738Z           "evidence": []
2026-06-04T02:39:10.0894894Z         },
2026-06-04T02:39:10.0895047Z         "unit": {
2026-06-04T02:39:10.0895229Z           "complete": true,
2026-06-04T02:39:10.0895401Z           "evidence": [
2026-06-04T02:39:10.0895550Z             {
2026-06-04T02:39:10.0895799Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T02:39:10.0895964Z               "line": 46
2026-06-04T02:39:10.0896141Z             },
2026-06-04T02:39:10.0896290Z             {
2026-06-04T02:39:10.0896541Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-04T02:39:10.0896722Z               "line": 71
2026-06-04T02:39:10.0896873Z             }
2026-06-04T02:39:10.0897027Z           ]
2026-06-04T02:39:10.0897178Z         }
2026-06-04T02:39:10.0897333Z       }
2026-06-04T02:39:10.0897478Z     },
2026-06-04T02:39:10.0897630Z     {
2026-06-04T02:39:10.0897806Z       "id": "REQ-TERM-3",
2026-06-04T02:39:10.0898094Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-04T02:39:10.0898279Z       "requiredStages": [
2026-06-04T02:39:10.0898437Z         "impl",
2026-06-04T02:39:10.0898594Z         "unit"
2026-06-04T02:39:10.0898742Z       ],
2026-06-04T02:39:10.0898917Z       "stages": {
2026-06-04T02:39:10.0899080Z         "doc": {
2026-06-04T02:39:10.0899306Z           "complete": false,
2026-06-04T02:39:10.0899483Z           "evidence": []
2026-06-04T02:39:10.0899866Z         },
2026-06-04T02:39:10.0900034Z         "impl": {
2026-06-04T02:39:10.0900210Z           "complete": true,
2026-06-04T02:39:10.0900535Z           "evidence": [
2026-06-04T02:39:10.0900695Z             {
2026-06-04T02:39:10.0900929Z               "path": "crates/spt-term/src/stream.rs",
2026-06-04T02:39:10.0901103Z               "line": 71
2026-06-04T02:39:10.0901249Z             }
2026-06-04T02:39:10.0901406Z           ]
2026-06-04T02:39:10.0901553Z         },
2026-06-04T02:39:10.0901712Z         "int": {
2026-06-04T02:39:10.0901901Z           "complete": false,
2026-06-04T02:39:10.0902068Z           "evidence": []
2026-06-04T02:39:10.0902223Z         },
2026-06-04T02:39:10.0902378Z         "unit": {
2026-06-04T02:39:10.0902562Z           "complete": true,
2026-06-04T02:39:10.0902730Z           "evidence": [
2026-06-04T02:39:10.0902890Z             {
2026-06-04T02:39:10.0903230Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T02:39:10.0903416Z               "line": 37
2026-06-04T02:39:10.0903620Z             },
2026-06-04T02:39:10.0903794Z             {
2026-06-04T02:39:10.0904077Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-04T02:39:10.0904310Z               "line": 67
2026-06-04T02:39:10.0904515Z             }
2026-06-04T02:39:10.0904686Z           ]
2026-06-04T02:39:10.0904857Z         }
2026-06-04T02:39:10.0905026Z       }
2026-06-04T02:39:10.0905172Z     },
2026-06-04T02:39:10.0905332Z     {
2026-06-04T02:39:10.0905509Z       "id": "REQ-TERM-4",
2026-06-04T02:39:10.0906277Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-04T02:39:10.0906472Z       "requiredStages": [
2026-06-04T02:39:10.0906630Z         "impl",
2026-06-04T02:39:10.0906789Z         "unit",
2026-06-04T02:39:10.0906938Z         "int"
2026-06-04T02:39:10.0907097Z       ],
2026-06-04T02:39:10.0907257Z       "stages": {
2026-06-04T02:39:10.0907422Z         "doc": {
2026-06-04T02:39:10.0907620Z           "complete": true,
2026-06-04T02:39:10.0907794Z           "evidence": [
2026-06-04T02:39:10.0907951Z             {
2026-06-04T02:39:10.0908167Z               "path": "docs/MANIFEST.md",
2026-06-04T02:39:10.0908344Z               "line": 106
2026-06-04T02:39:10.0908493Z             }
2026-06-04T02:39:10.0908650Z           ]
2026-06-04T02:39:10.0908805Z         },
2026-06-04T02:39:10.0908957Z         "impl": {
2026-06-04T02:39:10.0909136Z           "complete": true,
2026-06-04T02:39:10.0909363Z           "evidence": [
2026-06-04T02:39:10.0909530Z             {
2026-06-04T02:39:10.0909767Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-04T02:39:10.0909947Z               "line": 448
2026-06-04T02:39:10.0910106Z             },
2026-06-04T02:39:10.0910257Z             {
2026-06-04T02:39:10.0910502Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T02:39:10.0910668Z               "line": 41
2026-06-04T02:39:10.0910828Z             },
2026-06-04T02:39:10.0910995Z             {
2026-06-04T02:39:10.0911250Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T02:39:10.0911424Z               "line": 91
2026-06-04T02:39:10.0911587Z             },
2026-06-04T02:39:10.0911746Z             {
2026-06-04T02:39:10.0911982Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T02:39:10.0912158Z               "line": 152
2026-06-04T02:39:10.0912308Z             },
2026-06-04T02:39:10.0918088Z             {
2026-06-04T02:39:10.0918382Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T02:39:10.0918558Z               "line": 212
2026-06-04T02:39:10.0918716Z             },
2026-06-04T02:39:10.0918863Z             {
2026-06-04T02:39:10.0919121Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T02:39:10.0919381Z               "line": 20
2026-06-04T02:39:10.0919548Z             },
2026-06-04T02:39:10.0919706Z             {
2026-06-04T02:39:10.0919955Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T02:39:10.0920447Z               "line": 212
2026-06-04T02:39:10.0920603Z             },
2026-06-04T02:39:10.0920768Z             {
2026-06-04T02:39:10.0921172Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T02:39:10.0921361Z               "line": 226
2026-06-04T02:39:10.0921518Z             },
2026-06-04T02:39:10.0921667Z             {
2026-06-04T02:39:10.0921919Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.0922091Z               "line": 574
2026-06-04T02:39:10.0922251Z             },
2026-06-04T02:39:10.0922412Z             {
2026-06-04T02:39:10.0922646Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T02:39:10.0922826Z               "line": 157
2026-06-04T02:39:10.0922977Z             },
2026-06-04T02:39:10.0923131Z             {
2026-06-04T02:39:10.0923357Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T02:39:10.0923533Z               "line": 199
2026-06-04T02:39:10.0923698Z             },
2026-06-04T02:39:10.0923868Z             {
2026-06-04T02:39:10.0924104Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T02:39:10.0924273Z               "line": 226
2026-06-04T02:39:10.0924445Z             },
2026-06-04T02:39:10.0924595Z             {
2026-06-04T02:39:10.0924826Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0925003Z               "line": 176
2026-06-04T02:39:10.0925154Z             }
2026-06-04T02:39:10.0925310Z           ]
2026-06-04T02:39:10.0925460Z         },
2026-06-04T02:39:10.0925622Z         "int": {
2026-06-04T02:39:10.0925804Z           "complete": true,
2026-06-04T02:39:10.0925979Z           "evidence": [
2026-06-04T02:39:10.0926141Z             {
2026-06-04T02:39:10.0926385Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-04T02:39:10.0926558Z               "line": 18
2026-06-04T02:39:10.0926703Z             }
2026-06-04T02:39:10.0926859Z           ]
2026-06-04T02:39:10.0927006Z         },
2026-06-04T02:39:10.0927170Z         "unit": {
2026-06-04T02:39:10.0927361Z           "complete": true,
2026-06-04T02:39:10.0927531Z           "evidence": [
2026-06-04T02:39:10.0927686Z             {
2026-06-04T02:39:10.0927929Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T02:39:10.0928113Z               "line": 250
2026-06-04T02:39:10.0928262Z             },
2026-06-04T02:39:10.0928422Z             {
2026-06-04T02:39:10.0928667Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T02:39:10.0928835Z               "line": 263
2026-06-04T02:39:10.0928993Z             },
2026-06-04T02:39:10.0929139Z             {
2026-06-04T02:39:10.0929445Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T02:39:10.0929614Z               "line": 275
2026-06-04T02:39:10.0929774Z             },
2026-06-04T02:39:10.0929934Z             {
2026-06-04T02:39:10.0930176Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T02:39:10.0930349Z               "line": 290
2026-06-04T02:39:10.0930502Z             },
2026-06-04T02:39:10.0930669Z             {
2026-06-04T02:39:10.0930905Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T02:39:10.0931088Z               "line": 305
2026-06-04T02:39:10.0931265Z             },
2026-06-04T02:39:10.0931417Z             {
2026-06-04T02:39:10.0931661Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T02:39:10.0931829Z               "line": 327
2026-06-04T02:39:10.0931985Z             },
2026-06-04T02:39:10.0932134Z             {
2026-06-04T02:39:10.0932385Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T02:39:10.0932564Z               "line": 337
2026-06-04T02:39:10.0932719Z             },
2026-06-04T02:39:10.0932871Z             {
2026-06-04T02:39:10.0933103Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-04T02:39:10.0933277Z               "line": 364
2026-06-04T02:39:10.0933430Z             },
2026-06-04T02:39:10.0933585Z             {
2026-06-04T02:39:10.0933842Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T02:39:10.0934209Z               "line": 338
2026-06-04T02:39:10.0934375Z             },
2026-06-04T02:39:10.0934525Z             {
2026-06-04T02:39:10.0934912Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T02:39:10.0935099Z               "line": 350
2026-06-04T02:39:10.0935252Z             },
2026-06-04T02:39:10.0935413Z             {
2026-06-04T02:39:10.0935665Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T02:39:10.0935845Z               "line": 367
2026-06-04T02:39:10.0935998Z             },
2026-06-04T02:39:10.0936159Z             {
2026-06-04T02:39:10.0936418Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-04T02:39:10.0936587Z               "line": 378
2026-06-04T02:39:10.0936743Z             },
2026-06-04T02:39:10.0936891Z             {
2026-06-04T02:39:10.0937143Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.0937312Z               "line": 759
2026-06-04T02:39:10.0937483Z             },
2026-06-04T02:39:10.0937643Z             {
2026-06-04T02:39:10.0937891Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.0938085Z               "line": 766
2026-06-04T02:39:10.0938238Z             },
2026-06-04T02:39:10.0938398Z             {
2026-06-04T02:39:10.0938645Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.0938827Z               "line": 781
2026-06-04T02:39:10.0938986Z             },
2026-06-04T02:39:10.0939135Z             {
2026-06-04T02:39:10.0939424Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T02:39:10.0939595Z               "line": 381
2026-06-04T02:39:10.0939757Z             },
2026-06-04T02:39:10.0939903Z             {
2026-06-04T02:39:10.0940145Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T02:39:10.0940324Z               "line": 402
2026-06-04T02:39:10.0940477Z             },
2026-06-04T02:39:10.0940632Z             {
2026-06-04T02:39:10.0940860Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T02:39:10.0941053Z               "line": 415
2026-06-04T02:39:10.0941205Z             },
2026-06-04T02:39:10.0941373Z             {
2026-06-04T02:39:10.0941611Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T02:39:10.0941785Z               "line": 434
2026-06-04T02:39:10.0941949Z             },
2026-06-04T02:39:10.0942102Z             {
2026-06-04T02:39:10.0942342Z               "path": "crates/spt-term/src/digest.rs",
2026-06-04T02:39:10.0942505Z               "line": 461
2026-06-04T02:39:10.0942665Z             },
2026-06-04T02:39:10.0942821Z             {
2026-06-04T02:39:10.0943064Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-04T02:39:10.0943240Z               "line": 32
2026-06-04T02:39:10.0943392Z             },
2026-06-04T02:39:10.0943549Z             {
2026-06-04T02:39:10.0943766Z               "path": "crates/spt/src/cli.rs",
2026-06-04T02:39:10.0943939Z               "line": 646
2026-06-04T02:39:10.0944096Z             }
2026-06-04T02:39:10.0944259Z           ]
2026-06-04T02:39:10.0944416Z         }
2026-06-04T02:39:10.0944566Z       }
2026-06-04T02:39:10.0944719Z     },
2026-06-04T02:39:10.0944874Z     {
2026-06-04T02:39:10.0945052Z       "id": "REQ-UPD-1",
2026-06-04T02:39:10.0945296Z       "title": "Peer-propagated update over P2P",
2026-06-04T02:39:10.0945479Z       "requiredStages": [],
2026-06-04T02:39:10.0945648Z       "stages": {
2026-06-04T02:39:10.0945802Z         "doc": {
2026-06-04T02:39:10.0945989Z           "complete": false,
2026-06-04T02:39:10.0946153Z           "evidence": []
2026-06-04T02:39:10.0946307Z         },
2026-06-04T02:39:10.0946470Z         "impl": {
2026-06-04T02:39:10.0946649Z           "complete": false,
2026-06-04T02:39:10.0946826Z           "evidence": []
2026-06-04T02:39:10.0946976Z         },
2026-06-04T02:39:10.0947135Z         "int": {
2026-06-04T02:39:10.0947308Z           "complete": false,
2026-06-04T02:39:10.0947479Z           "evidence": []
2026-06-04T02:39:10.0947639Z         },
2026-06-04T02:39:10.0947958Z         "unit": {
2026-06-04T02:39:10.0948142Z           "complete": false,
2026-06-04T02:39:10.0948312Z           "evidence": []
2026-06-04T02:39:10.0954100Z         }
2026-06-04T02:39:10.0954352Z       }
2026-06-04T02:39:10.0954515Z     },
2026-06-04T02:39:10.0954669Z     {
2026-06-04T02:39:10.0954859Z       "id": "REQ-UPD-2",
2026-06-04T02:39:10.0955176Z       "title": "All binaries signature-verified before handoff",
2026-06-04T02:39:10.0955364Z       "requiredStages": [
2026-06-04T02:39:10.0955529Z         "impl",
2026-06-04T02:39:10.0955685Z         "unit"
2026-06-04T02:39:10.0955846Z       ],
2026-06-04T02:39:10.0956011Z       "stages": {
2026-06-04T02:39:10.0956165Z         "doc": {
2026-06-04T02:39:10.0956354Z           "complete": false,
2026-06-04T02:39:10.0956526Z           "evidence": []
2026-06-04T02:39:10.0956681Z         },
2026-06-04T02:39:10.0956838Z         "impl": {
2026-06-04T02:39:10.0957020Z           "complete": true,
2026-06-04T02:39:10.0957191Z           "evidence": [
2026-06-04T02:39:10.0957378Z             {
2026-06-04T02:39:10.0957633Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T02:39:10.0957810Z               "line": 29
2026-06-04T02:39:10.0957971Z             },
2026-06-04T02:39:10.0958127Z             {
2026-06-04T02:39:10.0958377Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T02:39:10.0958553Z               "line": 158
2026-06-04T02:39:10.0958702Z             },
2026-06-04T02:39:10.0958859Z             {
2026-06-04T02:39:10.0959103Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T02:39:10.0959361Z               "line": 239
2026-06-04T02:39:10.0959515Z             },
2026-06-04T02:39:10.0959673Z             {
2026-06-04T02:39:10.0959919Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T02:39:10.0960085Z               "line": 149
2026-06-04T02:39:10.0960247Z             }
2026-06-04T02:39:10.0960398Z           ]
2026-06-04T02:39:10.0960555Z         },
2026-06-04T02:39:10.0960728Z         "int": {
2026-06-04T02:39:10.0960919Z           "complete": false,
2026-06-04T02:39:10.0961095Z           "evidence": []
2026-06-04T02:39:10.0961256Z         },
2026-06-04T02:39:10.0961420Z         "unit": {
2026-06-04T02:39:10.0961595Z           "complete": true,
2026-06-04T02:39:10.0961770Z           "evidence": [
2026-06-04T02:39:10.0961919Z             {
2026-06-04T02:39:10.0962166Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T02:39:10.0962346Z               "line": 336
2026-06-04T02:39:10.0962498Z             },
2026-06-04T02:39:10.0962653Z             {
2026-06-04T02:39:10.0962893Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T02:39:10.0963067Z               "line": 350
2026-06-04T02:39:10.0963214Z             },
2026-06-04T02:39:10.0963372Z             {
2026-06-04T02:39:10.0963622Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T02:39:10.0963791Z               "line": 361
2026-06-04T02:39:10.0963951Z             },
2026-06-04T02:39:10.0964119Z             {
2026-06-04T02:39:10.0964369Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T02:39:10.0964559Z               "line": 437
2026-06-04T02:39:10.0964712Z             },
2026-06-04T02:39:10.0964869Z             {
2026-06-04T02:39:10.0965106Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T02:39:10.0965278Z               "line": 326
2026-06-04T02:39:10.0965432Z             },
2026-06-04T02:39:10.0965591Z             {
2026-06-04T02:39:10.0965839Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T02:39:10.0966008Z               "line": 339
2026-06-04T02:39:10.0966164Z             }
2026-06-04T02:39:10.0966312Z           ]
2026-06-04T02:39:10.0966472Z         }
2026-06-04T02:39:10.0966622Z       }
2026-06-04T02:39:10.0966776Z     },
2026-06-04T02:39:10.0966929Z     {
2026-06-04T02:39:10.0967103Z       "id": "REQ-UPD-3",
2026-06-04T02:39:10.0967470Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-04T02:39:10.0967949Z       "requiredStages": [
2026-06-04T02:39:10.0968114Z         "impl",
2026-06-04T02:39:10.0968271Z         "unit",
2026-06-04T02:39:10.0968570Z         "int"
2026-06-04T02:39:10.0968727Z       ],
2026-06-04T02:39:10.0968883Z       "stages": {
2026-06-04T02:39:10.0969048Z         "doc": {
2026-06-04T02:39:10.0969275Z           "complete": false,
2026-06-04T02:39:10.0969462Z           "evidence": []
2026-06-04T02:39:10.0969612Z         },
2026-06-04T02:39:10.0969782Z         "impl": {
2026-06-04T02:39:10.0969972Z           "complete": true,
2026-06-04T02:39:10.0970139Z           "evidence": [
2026-06-04T02:39:10.0970295Z             {
2026-06-04T02:39:10.0970540Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T02:39:10.0970719Z               "line": 26
2026-06-04T02:39:10.0970869Z             },
2026-06-04T02:39:10.0971030Z             {
2026-06-04T02:39:10.0971281Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T02:39:10.0971467Z               "line": 111
2026-06-04T02:39:10.0971626Z             },
2026-06-04T02:39:10.0971775Z             {
2026-06-04T02:39:10.0972019Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T02:39:10.0972201Z               "line": 213
2026-06-04T02:39:10.0972359Z             }
2026-06-04T02:39:10.0972513Z           ]
2026-06-04T02:39:10.0972665Z         },
2026-06-04T02:39:10.0972827Z         "int": {
2026-06-04T02:39:10.0973005Z           "complete": true,
2026-06-04T02:39:10.0973177Z           "evidence": [
2026-06-04T02:39:10.0973326Z             {
2026-06-04T02:39:10.0973596Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-04T02:39:10.0973771Z               "line": 23
2026-06-04T02:39:10.0973921Z             }
2026-06-04T02:39:10.0974079Z           ]
2026-06-04T02:39:10.0974226Z         },
2026-06-04T02:39:10.0974389Z         "unit": {
2026-06-04T02:39:10.0974567Z           "complete": true,
2026-06-04T02:39:10.0974741Z           "evidence": [
2026-06-04T02:39:10.0974912Z             {
2026-06-04T02:39:10.0975150Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T02:39:10.0975328Z               "line": 238
2026-06-04T02:39:10.0975492Z             },
2026-06-04T02:39:10.0975656Z             {
2026-06-04T02:39:10.0975897Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T02:39:10.0976078Z               "line": 262
2026-06-04T02:39:10.0976241Z             },
2026-06-04T02:39:10.0976397Z             {
2026-06-04T02:39:10.0976644Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T02:39:10.0976811Z               "line": 273
2026-06-04T02:39:10.0976966Z             },
2026-06-04T02:39:10.0977119Z             {
2026-06-04T02:39:10.0977371Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-04T02:39:10.0977549Z               "line": 286
2026-06-04T02:39:10.0977700Z             }
2026-06-04T02:39:10.0977856Z           ]
2026-06-04T02:39:10.0978016Z         }
2026-06-04T02:39:10.0978171Z       }
2026-06-04T02:39:10.0978330Z     },
2026-06-04T02:39:10.0978482Z     {
2026-06-04T02:39:10.0978660Z       "id": "REQ-UPD-4",
2026-06-04T02:39:10.0979035Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-04T02:39:10.0979291Z       "requiredStages": [
2026-06-04T02:39:10.0979453Z         "impl",
2026-06-04T02:39:10.0979617Z         "unit"
2026-06-04T02:39:10.0979762Z       ],
2026-06-04T02:39:10.0979932Z       "stages": {
2026-06-04T02:39:10.0980093Z         "doc": {
2026-06-04T02:39:10.0980270Z           "complete": false,
2026-06-04T02:39:10.0980446Z           "evidence": []
2026-06-04T02:39:10.0980592Z         },
2026-06-04T02:39:10.0980754Z         "impl": {
2026-06-04T02:39:10.0980930Z           "complete": true,
2026-06-04T02:39:10.0981105Z           "evidence": [
2026-06-04T02:39:10.0981262Z             {
2026-06-04T02:39:10.0981507Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T02:39:10.0981678Z               "line": 23
2026-06-04T02:39:10.0981832Z             },
2026-06-04T02:39:10.0982161Z             {
2026-06-04T02:39:10.0982407Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T02:39:10.0982717Z               "line": 60
2026-06-04T02:39:10.0982876Z             },
2026-06-04T02:39:10.0983027Z             {
2026-06-04T02:39:10.0983271Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T02:39:10.0983436Z               "line": 79
2026-06-04T02:39:10.0983601Z             },
2026-06-04T02:39:10.0983748Z             {
2026-06-04T02:39:10.0984005Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-04T02:39:10.0989518Z               "line": 162
2026-06-04T02:39:10.0989796Z             },
2026-06-04T02:39:10.0989960Z             {
2026-06-04T02:39:10.0990209Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T02:39:10.0990387Z               "line": 106
2026-06-04T02:39:10.0990537Z             }
2026-06-04T02:39:10.0990703Z           ]
2026-06-04T02:39:10.0990859Z         },
2026-06-04T02:39:10.0991056Z         "int": {
2026-06-04T02:39:10.0991244Z           "complete": false,
2026-06-04T02:39:10.0991413Z           "evidence": []
2026-06-04T02:39:10.0991583Z         },
2026-06-04T02:39:10.0991753Z         "unit": {
2026-06-04T02:39:10.0991939Z           "complete": true,
2026-06-04T02:39:10.0992112Z           "evidence": [
2026-06-04T02:39:10.0992260Z             {
2026-06-04T02:39:10.0992509Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-04T02:39:10.0992675Z               "line": 217
2026-06-04T02:39:10.0992835Z             },
2026-06-04T02:39:10.0992984Z             {
2026-06-04T02:39:10.0993233Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T02:39:10.0993411Z               "line": 118
2026-06-04T02:39:10.0993559Z             },
2026-06-04T02:39:10.0993713Z             {
2026-06-04T02:39:10.0993954Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T02:39:10.0994125Z               "line": 133
2026-06-04T02:39:10.0994275Z             },
2026-06-04T02:39:10.0994446Z             {
2026-06-04T02:39:10.0994691Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-04T02:39:10.0994861Z               "line": 152
2026-06-04T02:39:10.0995030Z             },
2026-06-04T02:39:10.0995179Z             {
2026-06-04T02:39:10.0995418Z               "path": "crates/spt-store/src/info.rs",
2026-06-04T02:39:10.0995597Z               "line": 234
2026-06-04T02:39:10.0995748Z             },
2026-06-04T02:39:10.0995903Z             {
2026-06-04T02:39:10.0996136Z               "path": "crates/spt-store/src/perch.rs",
2026-06-04T02:39:10.0996313Z               "line": 407
2026-06-04T02:39:10.0996461Z             }
2026-06-04T02:39:10.0996621Z           ]
2026-06-04T02:39:10.0996777Z         }
2026-06-04T02:39:10.0996928Z       }
2026-06-04T02:39:10.0997080Z     },
2026-06-04T02:39:10.0997228Z     {
2026-06-04T02:39:10.0997405Z       "id": "REQ-UPD-5",
2026-06-04T02:39:10.0997696Z       "title": "spt-core ripple-updates registered adapters",
2026-06-04T02:39:10.0997897Z       "requiredStages": [
2026-06-04T02:39:10.0998060Z         "impl",
2026-06-04T02:39:10.0998216Z         "unit"
2026-06-04T02:39:10.0998372Z       ],
2026-06-04T02:39:10.0998541Z       "stages": {
2026-06-04T02:39:10.0998703Z         "doc": {
2026-06-04T02:39:10.0998886Z           "complete": false,
2026-06-04T02:39:10.0999067Z           "evidence": []
2026-06-04T02:39:10.0999266Z         },
2026-06-04T02:39:10.0999441Z         "impl": {
2026-06-04T02:39:10.0999628Z           "complete": true,
2026-06-04T02:39:10.0999794Z           "evidence": [
2026-06-04T02:39:10.0999949Z             {
2026-06-04T02:39:10.1000225Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T02:39:10.1000407Z               "line": 27
2026-06-04T02:39:10.1000559Z             },
2026-06-04T02:39:10.1000716Z             {
2026-06-04T02:39:10.1000996Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T02:39:10.1001176Z               "line": 82
2026-06-04T02:39:10.1001332Z             },
2026-06-04T02:39:10.1001762Z             {
2026-06-04T02:39:10.1002041Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T02:39:10.1002361Z               "line": 134
2026-06-04T02:39:10.1002517Z             },
2026-06-04T02:39:10.1002672Z             {
2026-06-04T02:39:10.1002911Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T02:39:10.1003085Z               "line": 198
2026-06-04T02:39:10.1003236Z             },
2026-06-04T02:39:10.1003397Z             {
2026-06-04T02:39:10.1003648Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-04T02:39:10.1003823Z               "line": 226
2026-06-04T02:39:10.1003981Z             }
2026-06-04T02:39:10.1004129Z           ]
2026-06-04T02:39:10.1004282Z         },
2026-06-04T02:39:10.1004439Z         "int": {
2026-06-04T02:39:10.1004624Z           "complete": false,
2026-06-04T02:39:10.1004799Z           "evidence": []
2026-06-04T02:39:10.1004950Z         },
2026-06-04T02:39:10.1005113Z         "unit": {
2026-06-04T02:39:10.1005311Z           "complete": true,
2026-06-04T02:39:10.1005482Z           "evidence": [
2026-06-04T02:39:10.1005627Z             {
2026-06-04T02:39:10.1005915Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T02:39:10.1006093Z               "line": 194
2026-06-04T02:39:10.1006244Z             },
2026-06-04T02:39:10.1006399Z             {
2026-06-04T02:39:10.1006666Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T02:39:10.1006843Z               "line": 208
2026-06-04T02:39:10.1006999Z             },
2026-06-04T02:39:10.1007158Z             {
2026-06-04T02:39:10.1007429Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T02:39:10.1007598Z               "line": 222
2026-06-04T02:39:10.1007755Z             },
2026-06-04T02:39:10.1007903Z             {
2026-06-04T02:39:10.1008175Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T02:39:10.1008344Z               "line": 236
2026-06-04T02:39:10.1008523Z             },
2026-06-04T02:39:10.1008680Z             {
2026-06-04T02:39:10.1008941Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-04T02:39:10.1009132Z               "line": 270
2026-06-04T02:39:10.1009337Z             },
2026-06-04T02:39:10.1009494Z             {
2026-06-04T02:39:10.1009744Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-04T02:39:10.1009927Z               "line": 729
2026-06-04T02:39:10.1010084Z             }
2026-06-04T02:39:10.1010233Z           ]
2026-06-04T02:39:10.1010393Z         }
2026-06-04T02:39:10.1010544Z       }
2026-06-04T02:39:10.1010702Z     }
2026-06-04T02:39:10.1010847Z   ],
2026-06-04T02:39:10.1011020Z   "findings": []
2026-06-04T02:39:10.1011175Z }
